質問: グラフのピークサーチについて 画像を、白黒に変換し、行の和で表したグラフの、最小値と最大値を抜き出したいと考えております。 その最小値と最大値を、プログラムの変数へ格納したいのですが、どうすればよいのでしょうか。
回答: 下記リンクの画像を読み込み、行の和で表したグラフの最小値と最大値をrow_min, row_maxにそれぞれ格納しました。 rgb イメージまたはカラーマップをグレースケールに変換 - matlab rgb2gray - mathworks 日本 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_min, idx_min] = min(row_sum) % 最小値と最大値を確認する為グラフに表示する figure; hold on; mx = size(gry, 2); plot(1:mx, row_sum, idx_max, row_max, 'o', idx_min, row_min, 'o');