【发布时间】:2015-02-21 16:22:26
【问题描述】:
我的目标是让一个滑动窗口以重叠的步骤在图像上滑动,以便我可以在每个窗口中运行分类器并检测是否有有趣的对象。
为此,我需要确保
- 我提取的用于分类的窗口确实对整个图像进行了处理,并且
- 抓取原始图像上每个滑动窗口的顶部和左侧坐标。
从这里跟进: Sliding window - how to get window location on image?
并基于此代码进行滑动窗口:
https://github.com/keepitsimple/ocrtest/blob/master/sliding_window.py#blob_contributors_box
我在做如下,假设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,并且我的第一个窗口从 (top, left): (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
这给了我所有的滑动窗口,包括重叠的窗口。但是在这种方法中,我无法获取每个滑动窗口的顶部和左侧坐标。
【问题讨论】:
-
想要一种高效的滑动窗口方式,可以使用这个代码sites.google.com/site/christophlampert/publications/…
-
可以从python运行吗?
标签: python computer-vision object-detection sliding-window