我在使用循环计算a中的白色像素时出现问题 一块图像,并存储总白色像素和y和x 该部分在图像中的位置,每个都在自己的阵列上。
当我在循环中打印值时,它可以正常工作,但是正确 在循环之后,3个数组用零填充。
有人可以帮忙吗?
鳕鱼:
y = zeros(altura*largura);
x = zeros(altura*largura);
v = zeros(altura*largura);
for j=0:altura-1
for k=0:largura-1
pedaco = f8(j*40+1 : j*40+40, k*40+1 : k*40+40); %binary piece
pedac = im2uint8(pedaco);
totalBrancos = sum(sum(pedac)); %sum white pixels
pos = altura*j+k+1;
y(pos) = j;
x(pos) = k;
v(pos) = totalBrancos;
disp(y(pos)); %works
disp(x(pos)); %works
disp(v(pos)); %works
end
end
disp(y); %all zeros
disp(x); %all zeros
disp(v); %all zeros
答案 0 :(得分:0)
你的零号调用是通过(altura largura)矩阵创建一个(altura largura),我不认为你通过计算位置来保存数据是你想要的/ p>
如果是这种情况,请尝试 可以将单个索引用于多索引矩阵,但是y = zeros(1, altura*largura);
x = zeros(1, altura*largura);
v = zeros(1, altura*largura);
pos
计算不正确。