SURF特徴量を使っ​たマッチングで処理領​域を限定することはで​きますか?

2 views (last 30 days)
daisuke shuugisono
daisuke shuugisono on 1 Feb 2018
画像処理で処理をする領域を限定したいのですが、処理をする領域が斜めになっている場合、ROIを使ってのx,y,w,hの指定では対応できませんでした。 特徴量を抽出したり、画を位置合わせするときなどで処理をする領域を限定する方法はありますか?

Accepted Answer

Kei Otsuka
Kei Otsuka on 2 Feb 2018
ROI外の領域の輝度値をクリップしてしまう方法はどうでしょうか。 例えば、
img = imread('coins.png');
figure, imshow(img)
このようなコインの図があったとして、面積が大きいコインに着目したい場合、
%2値化&穴埋め
bw = imfill(imbinarize(img), 'holes');
%面積2700pix以上の領域抽出
bw = bwpropfilt(bw, 'Area', [2700, 3000]);
%元画像をコピー
img2 = img;
%ROI外の輝度値を255にクリップ
img2(~bw) = 255;
figure, imshow(img2)
とすると以下のような画像が得られ、
この画像に対して抽出した特徴点を元画像にオーバーレイ表示すると以下のようになります。
%特徴点検出
Points = detectSURFFeatures(img2);
%上位20ポイントをプロット
figure, imshow(img); hold on;
plot(Points.selectStrongest(20));
クリップした領域も含めての特徴点になりますので、ROIに限定した特徴点とは意味合いが異なりますが アプリケーションによってはこのようなアプローチも使えると思います。
  1 Comment
daisuke shuugisono
daisuke shuugisono on 4 Feb 2018
回答ありがとうございます。

Sign in to comment.

More Answers (1)

Takuji Fukumoto
Takuji Fukumoto on 2 Feb 2018
Edited: Takuji Fukumoto on 2 Feb 2018
もし任意の形状のROIを作成したいということであれば、impolyで長方形以外のROIを指定することができます。
もし、違う角度でとられたリファレンスの画像があり、そこと合う領域をROIとしたい場合には、 レジストレーション(位置合わせ)を使うことになります。
レジストレーションの手法は 明るさを用いた方法 https://www.mathworks.com/help/releases/R2017b/images/examples/registering-multimodal-mri-images.html
特徴点を使った方法
様々ありますので、ためしながら良い方法を選択いただくと良いかと思います。
  1 Comment
daisuke shuugisono
daisuke shuugisono on 2 Feb 2018
回答ありがとうございます。 >>もし、違う角度でとられたリファレンスの画像があり、そこと合う領域をROIとしたい場合には、 レジストレーション(位置合わせ)を使うことになります。 とありますが、レジストレーションをする計算をする範囲をROIで限定し、レジストレーションさせることは可能なのでしょうか。 例えば、背景の違うが同じオブジェクトが写っている画像でレジストレーションをする際に、オブジェクトのみをROIで指定しオブジェクトで位置合わせをする。といったようなイメージです。

Sign in to comment.

Categories

Find more on イメージ in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!