是的,我对矢量化的概念非常陌生,但我正试图让它绕过它。目前,我正在尝试调整我编写的一些代码来实现canny边缘检测到矢量化形式,而我不明白的原因是:
for r=1:fsize
for c=1:fsize
mask(r,c) = mask(r,c)/Z;
end
end
会产生不同的结果:
mask(r:fsize,c:fsize) = mask(r:fsize,c:fsize)/Z;
当我理解他们应该做同样的事情时?
答案 0 :(得分:3)
什么是r
,第二个解决方案中的c
是什么?可能你需要元素划分./
:
mask = mask./Z;
如果这不能解决您的问题,请提供输入数据以重现。
答案 1 :(得分:1)
for r=1:fsize
for c=1:fsize
mask(r,c) = mask(r,c)/Z;
end
end
相当于
mask(1:fsize, 1:fsize) = mask(1:fsize, 1:fsize) / Z;
注意 - 1:fsize
不是c:fsize
。
这假设Z
是常数。做* (1 / Z)
只需稍微快一点 - 只进行一次除法,然后乘以......