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

1 次查看(过去 30 天)
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 CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by