11

我在 Ubuntu 12.04 上使用 OpenCV2。我可以成功运行图像读取显示代码。但是我无法运行具有内置功能的代码,例如。cvtColor()

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

#include <stdio.h>

int main(int argc, char *argv[])
{
    cv::Mat image = cv::imread("img.jpg");

    if( image.data == NULL )
    {
        printf( "file cannot be loaded\n");
        return 1;
    }

    cv::namedWindow("My");
    cv::imshow("My", image);

    cv::Mat result;
    cv::cvtColor(image, result, CV_BGR2Luv);

    cv::imwrite("outImg.jpg", result);

    cv::waitKey(0);

    return 0;
}

我正在为我的 OpenCV 使用 Qt-creator 使用 --libs, --cflags 编译后,我收到以下编译器错误:

make: Entering directory `/home/swaroop/Work/ai-junkies/cuda/uc_davis/opencv2.x/OpenCV2Test'
g++ -g -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4 -I/usr/include/opencv -I. -o main.o main.cpp
main.cpp: In function 'int main(int, char**)':
main.cpp:22:29: error: 'CV_BGR2Luv' was not declared in this scope
main.cpp:22:39: error: 'cvtColor' was not declared in this scope

请帮我解决这个问题。

4

2 回答 2

27

cvtColor宣布于opencv2/imgproc/imgproc.hpp

请记住它是#include而不是#import

#include <opencv2/imgproc/imgproc.hpp>
于 2013-04-16T09:13:12.443 回答
9

或者,如果您正在测试事物并且不关心过度包含,您可以简单地使用一行:

#include <opencv2/opencv.hpp>

它将包括大多数 opencv2 头文件。

于 2013-06-27T21:55:41.513 回答