我需要从大小为N×N(N> 10)的图像中获得10x10滑动窗口大小的局部像素直方图。
我正在使用以下代码来获取滑动窗口。
B = im2col(inputImage, [10, 10],'sliding');
但是根据这段代码,我无法确定两个本地窗口之间的重叠。 如何从图像中获取局部直方图,其滑动窗口大小为mxm,两个滑动窗口之间有一半重叠?
答案 0 :(得分:6)
IM2COL函数始终生成[n-1,m-1]
重叠(即1像素移位)的滑动窗口。也许您可以按原样调用IM2COL,然后丢弃您不想要的列。请记住,滑动窗口是通过以列顺序遍历矩阵生成的。
快速搜索显示自定义im2colstep
功能,实现为MEX-file。在您的情况下,您可以将其称为:
cols = im2colstep(inputImage, [10 10], [5 5]);
该功能是KSVD-Box包的一部分,“作者可以免费获得学术和个人使用”。