反射強度画像同士のSURFを用いた対応点検出
2 views (last 30 days)
Show older comments
ichiro obayashi
on 6 May 2017
Commented: ichiro obayashi
on 8 May 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 Comments
Accepted Answer
Tohru Kikawada
on 7 May 2017
画像として保存した際にすべての値が255になってしまうということですが、こちらは imwrite が画像書き出しする際に強制的に uint8 型に変換をしているからになります。一度、 mat2gray などでデータのレンジを0~1の範囲に圧縮する必要があります。
また、対応点検出について、再現できるデータがないと現状の方法でどこがうまくいっていないのか判別することが難しいです。 t_0001.dat や t_0030.dat を添付いただけると状況が再現できるのでより適切なアドバイスがもらえるかもしれません。
More Answers (0)
See Also
Categories
Find more on 特徴の検出と抽出 in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!