impixelを使用​して矩形領域のピクセ​ル値を取得するにはど​うすればよいですか。

4 views (last 30 days)
HI
HI on 6 Apr 2023
Commented: HI on 10 Apr 2023
impixel関数を用いて、画像の矩形領域(例えば5行5列の25ピクセル)のピクセル値を取得したいです。
c = [ ];
r = [ ];
impixel (Image , c, r)
において、cとrをどのように定義すればよいでしょうか。
  6 Comments
Atsushi Ueno
Atsushi Ueno on 7 Apr 2023
>meshgridの初期位置は、座標(1, 1)でしょうか。ご教授ください。
⇒はい。オフセット無しなら座標(1, 1)です。実際にプログラムを動かしてみれば一目瞭然です。
[r,c] = meshgrid(1:5,1:5)
r = 5×5
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
c = 5×5
1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5
[r,c] = meshgrid(11:15,20:22) % 書いた通りに生成されます
r = 3×5
11 12 13 14 15 11 12 13 14 15 11 12 13 14 15
c = 3×5
20 20 20 20 20 21 21 21 21 21 22 22 22 22 22
HI
HI on 7 Apr 2023
ありがとうございました。

Sign in to comment.

Answers (1)

Hiroshi Iwamura
Hiroshi Iwamura on 6 Apr 2023
余談ですが、対話型ですので
I = imread('peppers.png');
[x, y, p] = impixel(I)
としてマウスクリックで指定すれば(リターンで終了)座標も得られます。
その座標をそのまま使って
p2 = impixel(I,x,y);
とすることもできます。
  1 Comment
HI
HI on 10 Apr 2023
追加の情報ありがとうございました。

Sign in to comment.

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!