im正在处理图像double(800x450x3),如果它保存某些条件,我想更改像素的值。然而,我第一次使用的代码,给了我一个很好的形象。当我试图优化它时,如果在前一种情况下根本没有它们,图像会变得非常奇怪(红色/紫色/蓝色等)。优化在MATLAB中提供了不正确的图像
,我首先代码:
diff = abs(double(rgbimage) - double(backgroundImage));
fusion = zeros(size(currentFrame));
for i=1:size(backgroundImage,1)
for j = 1:size(backgroundImage,2)
if diff(i,j) > 20
fusion(i,j, :) = double(rgbimage(i,j, :));
else
fusion(i,j, :) = 0;
end
end
end
,我又把它优化:
diff = abs(double(rgbimage) - double(backgroundImage));
fusion = zeros(size(currentFrame));
indexes = diff > 20;
fusion(indexes) = double(rgbimage(indexes));
...我只是绘制
subplot(2,1,1), subimage(uint8(fusion));
title('Fusion');
后有什么区别,为什么我得到这个错误? 谢谢!
它是一个坏主意,以命名您的变量差异,因为那么函数差异将会发生冲突。 – 2012-06-19 14:02:14