图像调整大小与图像金字塔,用于为行人检测生成ROI - OpenCV

时间:2015-03-24 15:54:47

标签: c++ opencv image-processing cuda computer-vision

对于OpenCV驾驶辅助应用程序,我想生成ROI作为行人更快HoG分类的候选者。我在GPU上运行它。我不想使用detectMultiscale函数,因为它扫描整个图像(包括天空)。由于功能不可扩展,我应该使用以下哪些功能来调整图像大小以生成ROI?

gpu :: resize(const GpuMat& src,GpuMat& dst,Size dsize,double fx = 0,double fy = 0,int interpolation = INTER_LINEAR,Stream& stream = Stream :: Null())或

图片金字塔cv2.pyrUp(),cv2.pyrDown()

我在OpenCV GPU库(2.4.9)中找不到图像金字塔。

有人可以建议吗?

由于

1 个答案:

答案 0 :(得分:3)

首先,您可以使用cvRect(opencv矩形)函数直接设置ROI,以创建ROI图像/子矩阵,如下所示:

Mat image = imread("");
Rect region_of_interest = Rect(x, y, w, h);
Mat image_roi = image(region_of_interest);

但是如果你想生成更小的lowsamples(更少的行和列),金字塔和调整大小之间会有一些差异:

-Pyramids是一种过滤器是通过高斯卷积矩阵卷积所有图像完成的,然后通过拒绝偶数行和列来对图像进行下采样。<​​/ p>

- 调整大小功能,执行几何变换,您可以更改插值像素值的方法。

实践中:金字塔是一种通过4个子图像进行下采样的快速方法; resize更通用,也可以用于上采样。