2013-03-31 89 views
2

我需要從尺寸爲NxN(N >> 10)的圖像中獲得大小爲10x10的滑動窗口的局部像素直方圖。matlab具有預定義重疊的快速滑動窗口(im2col'滑動'matlab)

我正在使用follwing代碼來獲取滑動窗口。

 B = im2col(inputImage, [10, 10],'sliding'); 

但根據這段代碼我無法確定兩個本地窗口之間的重疊。 如何從圖像中獲得大小爲mxm的滑動窗口和兩個滑動窗口之間的半重疊的局部直方圖?

回答

6

IM2COL函數總是生成與[n-1,m-1]重疊(即1像素移位)的滑動窗口。也許你可以直接調用IM2COL,然後丟棄你不想要的列。請記住,滑動窗口是通過按列順序遍歷矩陣生成的。


快速搜索顯示自定義功能im2colstep作爲​​實現。根據筆者

cols = im2colstep(inputImage, [10 10], [5 5]); 

功能是KSVD-Box包的一部分,「免費提供學術和個人使用」:在你的情況,你會調用它。