terminate called after throwing an instance of 'cv::Exception'(已解决)

$ g++ -o sift sift.cpp -I /usr/local/include -I /usr/local/include/opencv -I /usr/local/include/opencv2 -L /usr/local/lib /usr/local/lib/*.so
$ ./sift 1.jpg 2.jpg
terminate called after throwing an instance of 'cv::Exception'
  what():  OpenCV(3.4.2) /home/ning/软件/opencv/modules/imgproc/src/color.hpp:253: error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'CvtHelper'

已放弃 (核心已转储)


解决方法
将imread中的0去掉。
将源代码中的

 Mat img1 = imread("1.jpg"0);    //右图
 Mat img2 = imread("2.jpg"0); 

改为如下

 Mat img1 = imread("1.jpg");    //imread括号中不加0
 Mat img2 = imread("2.jpg"); 

你可能感兴趣的:(opencv)