我需要固定我的Matlab代码的这一部分:
double(sum(histc(windows, 0:1:255),2)')
它应用于大图像的每个像素,用于计算局部直方图(在'窗口'内),因此非常耗费精力。
你有什么建议可以加快计算速度吗?
非常感谢。
答案 0 :(得分:0)
您可以利用相邻像素之间的重叠。让我们说一个大小为3x3的窗口并计算了像素I(x,y)的直方图,然后像素I(x + 1,y)的直方图将包含6个相同的像素。因此,您只需要减去3个值并添加3个。
您的代码看起来不对。 histc返回bin计数,然后你总计应该总计加起来你的窗口大小的计数。您想计算窗口内像素强度的总和吗?那么你应该直接使用sum函数。