Doubt in the specific line
显示 更早的评论
could you please explain the following code?
k = zeros(img_h, img_w, 4);
k(:,:,1) = (fxx./((1 + fx.^2).^(3/2))).*fvr; % hor
k(:,:,2) = (fyy./((1 + fy.^2).^(3/2))).*fvr; % ver
k(:,:,3) = (f11./((1 + f1.^2).^(3/2))).*fvr; % \
k(:,:,4) = (f22./((1 + f2.^2).^(3/2))).*fvr; % /
Wr = 0;
bla = k(:,:,1) > 0;
for y=1:img_h
for x=1:img_w
if(bla(y,x)) %%% I cant understand (bla(y,x))
Wr = Wr + 1;
end
采纳的回答
更多回答(1 个)
Walter Roberson
2020-7-24
The code
Wr = 0;
bla = k(:,:,1) > 0;
for y=1:img_h
for x=1:img_w
if(bla(y,x)) %%% I cant understand (bla(y,x))
Wr = Wr + 1;
end
end
end
can be entirely replaced with
Wr = nnz(k(:,:,1) > 0);
You are just counting the number of places that k(:,:,1) is true.
类别
在 帮助中心 和 File Exchange 中查找有关 Multidimensional Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!