画像中のある範囲のx​y座標をM行2列のベ​クトルで表す

5 Ansichten (letzte 30 Tage)
Keiichiro Yashima
Keiichiro Yashima am 7 Nov. 2020
Kommentiert: Akira Agata am 11 Nov. 2020
題の通り、画像中のある範囲のxy座標をM行2列のベクトルで表したく、ご質問させていただきました。
例といたしまして、
A = [1 0 0 0 0 ; 0 1 0 0 0 ; 0 0 1 0 0 ; 0 0 0 1 0 ; 0 0 0 0 1] という行列があったとします。
この行列のうち左上3×3の範囲をx、y座標で
[1,1 ; 1,2 ; 1,3 ; 2,1 ; 2,2 ; 2,3 ; 3,1 ; 3,2 ; 3,3]
というようにM行2列のxy座標で表したいのですがやり方が分かりません。
今はAが5×5なので手打ちで済んでますが、1000×1000のような大規模のものになると手打ちではできないので困っております。
よろしくお願い致します。
  1 Kommentar
Keiichiro Yashima
Keiichiro Yashima am 7 Nov. 2020
[1,1 ; 1,2 ; 1,3 ; 2,1 ; 2,2 ; 2,3 ; 3,1 ; 3,2 ; 3,3]
ではなく
[1 1 ; 1 2 ; 1 3 ; 2 1 ; 2 2 ; 2 3 ; 3 1 ; 3 2 ; 3 3]
です。
失礼致しました。

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 7 Nov. 2020
Try this
n = 3;
[x, y] = meshgrid(1:n);
M = [x(:) y(:)]
  3 Kommentare
Ameer Hamza
Ameer Hamza am 7 Nov. 2020
I am glad to be of help!
Akira Agata
Akira Agata am 11 Nov. 2020
ご質問に対する直接の回答としては Ameer Hamzaさんの方法で良いかと思います。ただ、最終的にやりたいことによっては別の方法が良いかもしれません。
たとえば画像Aから 3×3 の範囲を切り出したいということでしたら、A(1:3, 1:3) (RGB画像の場合は A(1:3, 1:3, :) ) とすれば可能です。
あるいは、もし画像Aのなかの関心領域 (ROI) について面積などの特徴量を算出したいということでしたら、ROIを構成する個々のピクセルの x-y 座標を出さなくても、そのまま regionprops 関数などで算出することが可能です。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!