int main(){
string file="/home/y/Pictures/4.jpg";
cv::Mat src;
src=cv::imread(file,-1);
// cv::namedWindow("output",CV_WINDOW_NORMAL);
//int pyramids = 4;
vector<cv::Mat> pry;
double pyramid_scale=0.5;
//double scales[]={1.0,0.5,0.25,0.125};
for(int i=0;i<pyramids;++i)
{
if(i==0)
{
pry.push_back(src);
}
else
{
cv::Mat src_pyr;
cv::resize(pry[i-1],src_pyr,cv::Size(pry[i-1].cols*pyramid_scale,pry[i-1].rows*pyramid_scale));
pry.push_back(src_pyr);
}
}
报错如下:
OpenCV Error: Assertion failed (ssize.area() > 0) in resize, file/home/y/3rdparty/opencv-3.1.0/modules/imgproc/src/imgwarp.cpp, line 3229
terminate called after throwing an instance of 'cv::Exception'
what(): /home/y/3rdparty/opencv-3.1.0/modules/imgproc/src/imgwarp.cpp:3229: error: (-215) ssize.area() > 0 in function resize
最后发现是读取文件时的路径写错了,根本就没读取到图像,所以导致resize时发生错误