MATLAB Answers

グラフのピークサーチについて

1 view (last 30 days)
画像を、白黒に変換し、行の和で表したグラフの、最小値と最大値を抜き出したいと考えております。
その最小値と最大値を、プログラムの変数へ格納したいのですが、どうすればよいのでしょうか。

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 8 Jun 2021
下記リンクの画像を読み込み、行の和で表したグラフの最小値と最大値をrow_min, row_maxにそれぞれ格納しました。
gry = imread('convertrgbimagetograyscaleimageexample_02_ja_JP.png');
% gry = rgb2gray(gry); % 元々白黒なので変換は省略
imshow(gry);
% 行の和で表したグラフの、最小値と最大値を抜き出したい
row_sum = sum(gry); % 行の和
row_sum(row_sum == 0) = NaN; % 0(画像の黒い縁)を最小値にしないよう非数値化
% その最小値と最大値を、プログラムの変数へ格納
[row_max, idx_max] = max(row_sum)
row_max = 30877
idx_max = 327
[row_min, idx_min] = min(row_sum)
row_min = 7101
idx_min = 98
% 最小値と最大値を確認する為グラフに表示する
figure; hold on; mx = size(gry, 2);
plot(1:mx, row_sum, idx_max, row_max, 'o', idx_min, row_min, 'o');

More Answers (0)

Community Treasure Hunt

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

Start Hunting!