name必须是命名空间名称Visual Studio Error

时间:2017-02-13 07:36:41

标签: c++ visual-studio opencv

我正在尝试运行以下代码并将RGB图像转换为YCbCr颜色模型。但是在构建此代码段时会出现上述错误。我附上了截图。你可以参考并给我一个解决方案。

#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "iostream"
#include "opencv2/opencv.hpp"

using namespace cv;
using namespace cv2;
using namespace std;

int main()
{
    Mat src1;
    src1 = imread("face.jpg", CV_LOAD_IMAGE_COLOR);
    namedWindow("Original image", CV_WINDOW_AUTOSIZE);
    imshow("Original image", src1);

    Mat gray, edge, draw;
    //cvtColor(src1, gray, CV_BGR2GRAY);
    Mat imgYCC = cv2.cvtColor(src1, cv2.COLOR_BGR2YCR_CB);

    //equalizeHist(gray, draw);
    //Canny(gray, edge, 50, 255, 3);
    edge.convertTo(draw, CV_8U);
    namedWindow("image", CV_WINDOW_AUTOSIZE);
    imshow("image", imgYCC);

    waitKey(0);
    return 0;
}

enter image description here

1 个答案:

答案 0 :(得分:3)

命名空间cv2不存在。它是python包装器的名称。

只需删除该行:

using namespace cv2;

并且不要在您的代码中使用它,例如:

Mat imgYCC = cvtColor(src1, COLOR_BGR2YCR_CB);