我的目标是让一个滑动窗口以重叠的步骤在图像上滑动,这样我就可以在每个窗口中运行一个分类器,并检测出是否有一个有趣的对象。
为此,我需要确保
从这里跟进:Sliding window - how to get window location on image?
基于这个滑动窗口代码:
我正在做以下工作,考虑到winh和winw是滑动窗口的宽度和高度,而window_size是(winh,winw):
grid_h_max =(imgheight/winh)
grid_w_max= (imgwidth / winw)
win = sliding_window(img, window_size, shiftSize=None, flatten=False)
for h in range (grid_h_max):
for w in range (grid_w_max):
win = windows[h,w]
grid_pos = (h,w), (winh, winw))
t, b, l, r = get_win_pixel_coords(grid_pos, window_size)这是很好的工作-给我滑动窗口以及每个窗口的坐标。但我不会有重叠的滑动窗。
因此,如果我的步长为10,并且我的第一个窗口开始于(顶部,左边):(0,0),那么我的第二个窗口应该是(0,10)。
但是在上面的代码中,我的第二个窗口是(0,60)。
早些时候,我使用了以下代码:
windows = sw.sliding_window(image1, window_size, step_size, flatten=True)
for w in windows:
# and then I grabbed each w and printed it out这给了我所有的滑动窗口,包括重叠的窗口。但是,在这种方法中,我无法获取每个滑动窗口的顶部和左侧坐标。
发布于 2014-12-24 11:24:46
好吧,所以我搞清楚了问题出在哪里。
此代码不会造成重叠:
grid_h_max =(imgheight/winh)
grid_w_max= (imgwidth / winw)
win = sliding_window(img, window_size, shiftSize=None, flatten=False) 将整个图像维数与窗口维数分开,显然会得到不重叠的结果。
为了在每个维度中获得正确的窗口数,我只允许sliding_window函数告诉我窗口的垂直和水平的数量:
win = sliding_window(img, window_size, shiftSize=None, flatten=False)
grid_h_max = win.shape[0]
grid_w_max = win.shape[1]这又给了我大约5000扇窗户。
https://stackoverflow.com/questions/27621831
复制相似问题