1

MatLabの画像処理ツールボックスの一部であるimrect()関数について質問があります。(x、y)座標を持つ画像内の開始点を見つけたいのですが。

ルックアップ領域を制限および指定する領域を設定するためにimrect関数を使用しますが、ROIマスクが画像の元のサイズにマップされているポイントを取得できません。

画像でわかるように、指定された長方形(シアン色)があります。これは、白い線、特に長方形の右端に最も近い点を調べたいと思います。長方形の最後の列を見上げるだけで実験しましたが、前述したように、グローバル画像座標への再マッピングは失敗しました。したがって、この例では、取得したい白色点は約(98,302)になります。

ここに画像の説明を入力してください

元の(x、y)座標は関連しているため、画像を長方形にトリミングすることはできません。それで、何かアイデアはありますか?助けてくれるコメントをありがとう。

敬具、

4

1 に答える 1

2

なんてことだ。私はよく外に出て大きな鞄を持って行くべきです。問題に悩まされている間、それは本当に役に立ちます。

同じ問題を抱えているすべての人については、次のパートの回答を参照してください。

imshow(im);
h1 = imrect;
pos = getPosition(h1); % to get the current position of the rectangle
setPosition(h1,[pos(1) pos(2) 1 pos(4)]); %for just selecting one row of the rect
BW = createMask(h1); 
test = BW.*im; % get the masked content of the image
[x,y] = find(test); % find the non-zero element and return x and y 
于 2012-10-18T11:24:09.117 に答える