反射強度画像同士のSURFを用いた対応点検出
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
ichiro obayashi
el 6 de Mayo de 2017
Comentada: ichiro obayashi
el 8 de Mayo de 2017
レーザースキャナによる反射強度を用いて作製された、反射強度画像同士をSURFを用いて対応点検出したいと考えています。 反射強度データは144*176の形をしています。 imwriteを用いてデータをJPGとして保存すると、すべての値が255という1つの値に変換されてしまいます。 下記がコードになっています。お互いの反射強度データ内で対応点を見つける方法がありましたらアドバイスお願いいたします。 宜しくお願い致します。
if true
% code
load t_0001.dat;
a=t_0001;
% %% 反射強度 %%%%%%%
i1=a(433:576,1:176);
%%%%画像として保存 %%%%%%
imwrite(i1,'1.jpg');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
load t_0030.dat;
b=t_0030;
% %% 反射強度 %%%%%%%
i2=b(433:576,1:176);
%%%%画像として保存 %%%%%%
imwrite(i2,'2.jpg');
I1 = imread('1.jpg');
I2 = imread('2.jpg');
points1 = detectSURFFeatures(I1);
points2 = detectSURFFeatures(I2);
[f1,vpts1] = extractFeatures(I1,points1);
[f2,vpts2] = extractFeatures(I2,points2);
indexPairs = matchFeatures(f1,f2) ;
matchedPoints1 = vpts1(indexPairs(:,1));
matchedPoints2 = vpts2(indexPairs(:,2));
figure; showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2);
legend('matched points 1','matched points 2');
end
0 comentarios
Respuesta aceptada
Tohru Kikawada
el 7 de Mayo de 2017
画像として保存した際にすべての値が255になってしまうということですが、こちらは imwrite が画像書き出しする際に強制的に uint8 型に変換をしているからになります。一度、 mat2gray などでデータのレンジを0~1の範囲に圧縮する必要があります。
また、対応点検出について、再現できるデータがないと現状の方法でどこがうまくいっていないのか判別することが難しいです。 t_0001.dat や t_0030.dat を添付いただけると状況が再現できるのでより適切なアドバイスがもらえるかもしれません。
Más respuestas (0)
Ver también
Categorías
Más información sobre 特徴の検出と抽出 en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!