【发布时间】:2023-03-06 03:23:01
【问题描述】:
我正在处理我的项目,其中有 2 张图片分别为 Img1 和 Img2。
由于Img1 是二进制图像,所以我计算了所有十进制值。
对于Img2,我已经获取了像素值。
为方便起见,我从整个图像中获取了 10X10 矩阵值用于以下操作。
[row,col] = size(Img1);
m = zeros(row,col);
w = [1 2 4 8; 16 32 64 128; 256 512 1024 2048; 4096 8192 16384 32768];
for i=2:10
for j=2:10
O = double(Img1(i-1:i+2,j-1:j+2));
m(i,j) = sum(sum(O.* w));
end;
end;
[row,col] = size(Img2);
count = row*col;
outMat = zeros(4,4,count);
l=0;
%m = zeros(row,col);delete
O = zeros(1,256);
for i=2:10
for j=2:10
l=l+1;
outMat(:,:,l) = Img2(i-1:i+2,j-1:j+2);
vec = outMat(3,3,:);
vec = vec(:);
end;
end;
现在,对于Img2,我已经收集了所有像素值,需要存储2个col.如下。
Col1 col2 from Img2
from Img1
44128 162
54960 150
58320 119
31200 120
48240 180
54960 160
44128 163
51109 90
44128 56
在这里,44128 重复了 3 次,现在添加来自 col2 的所有对应映射值,即 162,163,56 将它们全部相加除以 3(因为 44128 的出现是 3 次)和相同的过程 所有值都应遵循。
44128 (162+163+56)/3
54960 (150+160)/2
58320 (119/1)
31200 (120/1)
48240 (180/1)
51109 (90/1)
在这里,我想创建一个 1D 1X(col 大小)的数组 N,它充当 Img1 十进制的计数器
值,重复值并将计数器值存储在N 中,然后通过将N 的对应计数器值除以上述Img2 像素值来求平均值。
请帮助:-(,我该如何进一步编写代码。
【问题讨论】: