遵循《 OpenCV2-计算机视觉应用程序编程》一书中给出的第一个OpenCV程序,并按照所有设置QtCreator的步骤进行操作后,我仍然无法使程序按预期运行。
我正在使用Qt Creator 2.4.1(基于Qt 4.7.4(64位)),这就是我的.pro文件的样子-
QT += core
QT -= gui
TARGET = myQtConsoleProject
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
INCLUDEPATH += /usr/local/include
LIBS += -L/usr/local/lib \
-lopencv_core \
-lopencv_highgui \
-lopencv_imgproc \
-lopencv_features2d \
-lopencv_calib3d
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
int main(int argc, char *argv[])
{
// read an image
//cv::Mat image = cv::imread("lena.jpg", 1);
IplImage* img = cvLoadImage("/home/icarus/Pictures/lena.jpg");
cv::Mat image(img);
cvReleaseImage(&img);
// create image window named "My Image"
cv::namedWindow("My Image");
// show image on window
cv::imshow("My Image", image);
// wait key for 5000ms
cv::waitKey(50000);
return 1;
}
Press to close this window...
Starting /home/icarus/Work/MachineVision/Projects/myQtConsoleProject-build-desktop-Desktop_Qt_4_8_0_for_GCC__Qt_SDK__Release/myQtConsoleProject...
/home/icarus/Work/MachineVision/Projects/myQtConsoleProject-build-desktop-Desktop_Qt_4_8_0_for_GCC__Qt_SDK__Release/myQtConsoleProject exited with code 0
最佳答案
我不知道这是否是您所看到的行为的正确原因,但我确实认为这是一个问题。
根据文档http://opencv.willowgarage.com/documentation/cpp/basic_structures.html
(或者只是搜索它,以防链接失效)
用于Mat的构造函数定义如下:
Mat::Mat(const IplImage* img, bool copyData=false)
cv::Mat image(img);
cvReleaseImage(&img);
if(! image.data ) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return -1;
}
https://stackoverflow.com/questions/9538811/