当我开始使用 python 实现一个滑动窗口来检测静止图像中的对象时,我开始了解这个不错的功能:
As I get to implement a sliding window using python to detect objects in still images, I get to know the nice function:
numpy.lib.stride_tricks.as_strided
所以我尝试制定一个通用规则,以避免在更改我需要的滑动窗口大小时可能会失败的错误.最后我得到了这个表示:
So I tried to achieve a general rule to avoid mistakes I may fail in while changing the size of the sliding windows I need. Finally I got this representation:
all_windows = as_strided(x,((x.shape[0] - xsize)/xstep ,(x.shape[1] - ysize)/ystep ,xsize,ysize), (x.strides[0]*xstep,x.strides[1]*ystep,x.strides[0],x.strides[1])
这会产生一个 4 暗矩阵.前两个代表图像的 x 和 y 轴上的窗口数.其他的代表窗口的大小(xsize,ysize)
which results in a 4 dim matrix. The first two represents the number of windows on the x and y axis of the image. and the others represent the size of the window (xsize,ysize)
step代表两个连续窗口之间的位移.
and the step represents the displacement from between two consecutive windows.
如果我选择方形滑动窗口,这种表示效果很好.但我仍然有一个问题要让它适用于 e.x. 的 Windows.(128,64),我通常会在其中获得与图像无关的数据.
This representation works fine if I choose a squared sliding windows. but still I have a problem in getting this to work for windows of e.x. (128,64), where I get usually unrelated data to the image.
我的代码有什么问题.有任何想法吗?是否有更好的方法在 python 中让滑动窗口美观整洁地进行图像处理?
What is wrong my code. Any ideas? and if there is a better way to get a sliding windows nice and neat in python for image processing?
谢谢
查看这个问题的答案:使用步幅实现高效的移动平均滤波器.基本上跨步不是一个很好的选择,尽管它们有效.
Check out the answers to this question: Using strides for an efficient moving average filter. Basically strides are not a great option, although they work.
这篇关于在numpy中使用as_strided函数的滑动窗口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
如何在python中的感兴趣区域周围绘制一个矩形How to draw a rectangle around a region of interest in python(如何在python中的感兴趣区域周围绘制一个矩形)
如何使用 OpenCV 检测和跟踪人员?How can I detect and track people using OpenCV?(如何使用 OpenCV 检测和跟踪人员?)
如何下载 Coco Dataset 的特定部分?How can I download a specific part of Coco Dataset?(如何下载 Coco Dataset 的特定部分?)
使用 Opencv 检测图像中矩形的中心和角度Detect centre and angle of rectangles in an image using Opencv(使用 Opencv 检测图像中矩形的中心和角度)
计算边界框重叠的百分比,用于图像检测器评估Calculating percentage of Bounding box overlap, for image detector evaluation(计算边界框重叠的百分比,用于图像检测器评估)
如何在 HoughLinesP 之后合并行?How to merge lines after HoughLinesP?(如何在 HoughLinesP 之后合并行?)