执行代码时出现以下错误:(使用 Qt Creator 的 OpenCV)
OpenCV 错误:drawKeypoints 中的断言失败 (!outImage.empty()),文件 C:\Ope nCV\opencv\modules\features2d\src\draw.cpp,第 115 行 C:\OpenCV\opencv\modules\features2d\src\ draw.cpp:115: 错误: (-215) !outImage.em pty() in function drawKeypoints
代码:
#include <QCoreApplication>
#include <iostream>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv/cv.h"
#include <opencv2/nonfree/features2d.hpp>
using namespace std;
using namespace cv;
int main(int argc, char *argv[])
{
// QCoreApplication a(argc, argv);
cout << "Hello World!" << endl;
try {
cv::Mat image = cv::imread("lena.jpg",0);
// Create smart pointer for SIFT feature detector.
cv::Ptr<FeatureDetector> featureDetector = cv::FeatureDetector::create("SIFT");
cv::vector<KeyPoint> keypoints;
// Detect the keypoints
featureDetector->detect(image, keypoints); // NOTE: featureDetector is a pointer hence the '->'.
//Similarly, we create a smart pointer to the SIFT extractor.
cv::Ptr<DescriptorExtractor> featureExtractor = cv::DescriptorExtractor::create("SIFT");
// Compute the 128 dimension SIFT descriptor at each keypoint.
// Each row in "descriptors" correspond to the SIFT descriptor for each keypoint
cv::Mat descriptors;
featureExtractor->compute(image, keypoints, descriptors);
// If you would like to draw the detected keypoint just to check
cv::Mat outputImage;
cv::Scalar keypointColor = cv::Scalar(255, 0, 0); // Blue keypoints.
drawKeypoints(image, keypoints, outputImage, keypointColor, cv::DrawMatchesFlags::DEFAULT);
cvNamedWindow("Output");
cv::imshow("Output", outputImage);
char c = ' ';
cvWaitKey(0);
}
catch(cv::Exception e)
{
cout<< e.msg;
}
return 0;
}
.pro 文件的内容
INCLUDEPATH += "C:\\OpenCV\\opencv\\build\\x64\\mingw\\bin\\install\\include" \ "C:\\OpenCV\\opencv\\build\\x64\\mingw\\bin\\install\\include\\opencv"
\ "C:\OpenCV\opencv\build\x64\mingw\bin\install\include\opencv2"
LIBS += -L"C:\\OpenCV\\opencv\\build\\x64\\mingw\\bin\\install\\lib" \ -lopencv_core244d \ -lopencv_highgui244d \ -lopencv_imgproc244d \ -lopencv_features2d244d \ -lopencv_nonfree244d
我检查了工作目录中是否存在 lena.jpg