0

我在 windows 上使用 OpenCv4,试图在 Visual Studio 2017 中运行 C++ 代码,但它说 CV_HAAR_SCALE_IMAGE 和 CV_HOUGH_GRADIENT 没有定义,一些解决方案建议使用 cv2 前缀但 cv2 也没有定义,我正在使用 Opencv4 并设置路径.



cv::Mat grayscale;
 cv::cvtColor(frame, grayscale, cv::COLOR_BGR2GRAY); // convert image to grayscale
 cv::equalizeHist(grayscale, grayscale); // enhance image contrast 
 std::vector<cv::Rect> faces;
 faceCascade.detectMultiScale(grayscale, faces, 1.1, 2, 0 | CV_HAAR_SCALE_IMAGE, cv::Size(150, 150));
 if (faces.size() == 0) return; // none face was detected


更多细节

我正在尝试使用此 repo 中的代码实现鼠标眼球跟踪以进行鼠标控制。 https://abnerrjo.github.io/blog/2017/01/28/eyeball-tracking-for-mouse-control-in-opencv/

目前它显示一些变量为语法错误,所以我无法构建

在这个函数定义中,CV_HAAR_SCALE_IMAGE是未定义的

CV_HOUGH_GRADIENT也 一样,但我将其更改为cv::COLOR_BGR2GRAY并且现在可以使用

在此处输入图像描述

项目中添加的其他模块 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

如果您不是usingcv 命名空间,它现在称为 CASCADE_SCALE_IMAGE 或 cv::CASCADE_SCALE_IMAGE。我认为这种变化来自 OCV 3。

于 2020-12-15T00:13:36.137 回答