cvSaveImage()出现Microsoft C++ 异常: cv::Exception

源代码:
#include
#include
#include

void main()
{
IplImage* aa = cvLoadImage("13.jpg", 0);
cvSaveImage("result.jpg", aa, 0);
}
很短很短的程序。
图片说明
上面是我的程序的运行界面。
出现了错误,到底错在哪我也不知道。
以下答案将被驳回:
1.aa的颜色顺序不对,aa必须转成RGB颜色顺序。
请注意读取时的参数:cvLoadImage("13.jpg", 0);
aa是8位单通道灰度图像,不存在颜色顺序问题。
2.图片目录不对,要将相对目录改成绝对目录。
我试过了,没用,提示相同的错误。我保证13.jpg存在于同级目录之下。

运行环境:VS2017 + opencv3.4.2 + win10 + 64位环境
所有的运行环境一律都是64位

检查一下图片处理时是否超出了图片的内存区域,比如坐标设置是否过大

https://blog.csdn.net/u011600477/article/details/74002429

这个很简单,只有两个函数调用,所以要么cvLoadImage抛出了异常,要么cvSaveImage抛出异常,单步调试就可以确定问题在哪里。

猜测你实在第2个函数抛出异常了,可能是由于cvLoadImage执行失败,返回了空指针

这是opencv3.x的bug,如果要在这个版本下读取和保存图片请使用imread和imwrite函数。一定要用cvLoadImage和cvSaveImage,请在opencv2.x版本中使用。
你可以试试将版本切换到opencv2.x再试试看,应该就正常了。