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

标签 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) 中找不到图像金字塔。

谁能推荐一下?

谢谢

最佳答案

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

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

但是如果你想生成更小的lowsamples(更少的行和列),金字塔和resize之间有一些区别:

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

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

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

关于c++ - 用于生成行人检测 ROI 的图像调整大小与图像金字塔 - OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29237245/

相关文章:

c++ - 需要一个命令行解析器来满足我的要求

C++ fstream覆盖文件

android - 计算透视变换目标图像的纵横比

c++ - 如何从图像中删除小形状?

image - 尝试使用opencv使Photoshop达到色彩平衡

c++ - 在源代码中表示大数字以提高可读性?

c++ - 图像每一行在 x 方向上的一维卷积

C++ 混淆矩阵错误

python - Flask应用程序中的Opencv视频

c# - 图像转换