필터 지우기
필터 지우기

Rの画像行列<480×720 uint8>をX,Y​それぞれ5分割し、真​ん中(96×144)​の平均値を算出したい​。

조회 수: 5 (최근 30일)
025015
025015 2018년 7월 12일
댓글: 025015 2018년 7월 18일
R = rgbValues(240, 360, 1); のような一画素の値は出力ではなく、 (96×144)の範囲の平均値を出したい。
cam1=vcapg2;%カメラから画像行列取得 image(cam1);%画像表示 pause(0.02);
rgbValues = cam1;%RGBの画像行列
%RGB RGB = rgbValues(240, 360, :); RGB = reshape(RGB, [1,3]);
  댓글 수: 1
michio
michio 2018년 7월 13일
편집: michio 2018년 7월 13일
コード表示を編集しました。添付の画像のように、コード部分を選択し、{}Code ボタンを押すことでできますので、ぜひご利用ください。

댓글을 달려면 로그인하십시오.

채택된 답변

Kei Otsuka
Kei Otsuka 2018년 7월 13일
画像を5分割するためのインデックスの作成ができればよさそうですね。
ご参考 :  行列のインデックス 
今回のケースですと、まず画像を読み込んで適当にリサイズし、
img = imread('AT3_1m4_06.tif');
img = imresize(img, [480 720]);
5分割するためのインデックステーブルを作成
sz = size(img);
tblc = [0 sz(1)/5 * [1:5]];
tblr = [0 sz(2)/5 * [1:5]];
中心部分をROIとして抽出
idx = 3;
roi = img(tblc(idx)+1:tblc(idx+1), tblr(idx)+1:tblr(idx+1));
平均値を求める
mean(roi(:))
また、insertShape等を利用して元画像に抽出した領域を書き込んであげると解りやすいです。
img2 = insertShape(img, 'Rectangle', [tblr(idx)+1, tblc(idx)+1, 144, 96], 'Linewidth', 5);
figure, imshow(img2)
  댓글 수: 7
Kei Otsuka
Kei Otsuka 2018년 7월 18일
Image Processing Toolboxが必要ですが、お持ちではないですか?
もしくは、R2014b以降のバージョンであれは、imshowとrgb2grayはMATLAB本体の関数として 使うことができますので、アップグレードされるのも良いかと思います。
025015
025015 2018년 7월 18일
持ち合わせていないため、アップグレードします。色々とご対応頂きありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 グラフィックス에 대해 자세히 알아보기

제품


릴리스

R2013a

Community Treasure Hunt

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

Start Hunting!