反射強度画像同士のSURFを用いた対応点検出

조회 수: 3 (최근 30일)
ichiro obayashi
ichiro obayashi 2017년 5월 6일
댓글: ichiro obayashi 2017년 5월 8일
レーザースキャナによる反射強度を用いて作製された、反射強度画像同士を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

채택된 답변

Tohru Kikawada
Tohru Kikawada 2017년 5월 7일
画像として保存した際にすべての値が255になってしまうということですが、こちらは imwrite が画像書き出しする際に強制的に uint8 型に変換をしているからになります。一度、 mat2gray などでデータのレンジを0~1の範囲に圧縮する必要があります。
また、対応点検出について、再現できるデータがないと現状の方法でどこがうまくいっていないのか判別することが難しいです。 t_0001.dat t_0030.dat を添付いただけると状況が再現できるのでより適切なアドバイスがもらえるかもしれません。
  댓글 수: 1
ichiro obayashi
ichiro obayashi 2017년 5월 8일
Tohru Kikawada 様 ご回答ありがとうございました 早速ご指摘の通りに実行してみます
ありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 特徴の検出と抽出에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!