首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像上重叠滑动窗口

图像上重叠滑动窗口
EN

Stack Overflow用户
提问于 2014-12-23 13:55:55
回答 1查看 1.9K关注 0票数 0

我的目标是让一个滑动窗口以重叠的步骤在图像上滑动,这样我就可以在每个窗口中运行一个分类器,并检测出是否有一个有趣的对象。

为此,我需要确保

  • 我提取的用于分类的窗口真正用于整个图像,以及
  • 抓取原始图像上每个滑动窗口的顶部和左侧坐标。

从这里跟进:Sliding window - how to get window location on image?

基于这个滑动窗口代码:

box

我正在做以下工作,考虑到winh和winw是滑动窗口的宽度和高度,而window_size是(winh,winw):

代码语言:javascript
复制
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)。

早些时候,我使用了以下代码:

代码语言:javascript
复制
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

这给了我所有的滑动窗口,包括重叠的窗口。但是,在这种方法中,我无法获取每个滑动窗口的顶部和左侧坐标。

EN

回答 1

Stack Overflow用户

发布于 2014-12-24 11:24:46

好吧,所以我搞清楚了问题出在哪里。

此代码不会造成重叠:

代码语言:javascript
复制
grid_h_max =(imgheight/winh)
grid_w_max= (imgwidth / winw)
win = sliding_window(img, window_size, shiftSize=None, flatten=False) 

将整个图像维数与窗口维数分开,显然会得到不重叠的结果。

为了在每个维度中获得正确的窗口数,我只允许sliding_window函数告诉我窗口的垂直和水平的数量:

代码语言:javascript
复制
win = sliding_window(img, window_size, shiftSize=None, flatten=False) 
grid_h_max = win.shape[0]
grid_w_max = win.shape[1]

这又给了我大约5000扇窗户。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27621831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档