フィルターのクリア

In a loop, create an i x j matrix, find the average of each row, and find the minimum in which row.

1 回表示 (過去 30 日間)
채호 박
채호 박 2022 年 12 月 26 日
回答済み: DGM 2022 年 12 月 26 日
Store matrix as i x j
store the difference between matrices m1 and m2 in m
After calculating the average value of each row of matrix m, which row has the minimum value is stored in k
m1 = [];
m2 = [];
% when img1 is up
for i = 1:5
for j = 1:h2_t1
st11H_t2 = st11H_t1(i:end,:,:);
st22H_t2 = st22H_t1(1:end-i,:,:);
p1 = impixel(st11H_t2, 1, j);
m1 = [m1, p1];
p2 = impixel(st22H_t2, w2_t1, j);
m2 = [m2, p2];
end
end
m1(~isfinite(m1))=0;
m2(~isfinite(m2))=0;
What should I do?
  1 件のコメント
Image Analyst
Image Analyst 2022 年 12 月 26 日
Please give a numerical example of your matrix and your desired output, like
m = magic(5)
m = 5×5
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
If you have any more questions, then attach your data and code to read it in with the paperclip icon after you read this:

サインインしてコメントする。

回答 (1 件)

DGM
DGM 2022 年 12 月 26 日
The answer is simple if you avoid the unnecessary loops.
inpict = uint8(randi([0 255],5,5)) % a 5x5 integer-class image
inpict = 5×5
111 109 89 67 118 129 139 165 13 148 207 32 78 47 61 51 127 171 203 147 205 176 60 254 205
rowmean = mean(inpict,2) % dim2 mean
rowmean = 5×1
98.8000 118.8000 85.0000 139.8000 180.0000
rowmin = min(inpict,[],2) % dim2 minima
rowmin = 5×1
67 13 32 51 60

カテゴリ

Help Center および File ExchangeImage Processing and Computer Vision についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by