imshow 报错
Microsoft C++ 异常;CV::Exception
学习图像金字塔 报错
我以为是配置问题,但是以前都没有报错,配置又不会自己改
代码
#include<math.h>
#include
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc,char** argv)
{
Mat src, dst;
src = imread(“E://Opencvlab//xingyuanjieyi.jpg”);
if (!src.data)
{
printf(“failed to read imge”);
return -1;
}
imshow("src",src);
char input[] = "input image";
char output[]="out iamge";
Mat Ima_up;
pyrUp(src, Ima_up, Size(src.cols * 2, src.rows * 2)); //Size 要大写
imshow("Image up",Ima_up);
Mat Ima_down;
pyrDown(src,Ima_down,Size(src.cols/5,src.rows/5));
imshow("Image down",Ima_down);
Mat gray_src, g1, g2;
cvtColor(src, gray_src, CV_BGR2GRAY);
GaussianBlur(gray_src, g1, Size(3, 3),0,0);
GaussianBlur(g1, g2, Size(5, 5), 0, 0);
subtract(g1,g2,dst);
//归一化显示
normalize(dst, dst, 255, 0, NORM_MINMAX);
imshow("dst", dst);
cvWaitKey(10000);
return 0;
}
然后就开始各种找问题。找了一个晚上。最后第二天发现
Mat Ima_down;
pyrDown(src,Ima_down,Size(src.cols/5,src.rows/5));
imshow(“Image down”,Ima_down);
缩小倍数不是2的倍数
数据类型是int 最后结果不是int 然后就报错了
真是个傻逼的错误
遇到问题还是要静下心来