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

1 visualización (últimos 30 días)
Keiichiro Yashima
Keiichiro Yashima el 7 de Nov. de 2020
Comentada: Akira Agata el 11 de Nov. de 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 comentario
Keiichiro Yashima
Keiichiro Yashima el 7 de Nov. de 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]
です。
失礼致しました。

Iniciar sesión para comentar.

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!