对于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)中找不到图像金字塔。
有人可以建议吗?
由于
答案 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更通用,也可以用于上采样。