VS--OpenCV--cvSaveImage()报错

独行~背包客 2019-03-05 11:58:27
0x000007FEFD07BDED 处(位于 image_process.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x000000005C1FED58 处。
//图片缩略并保存_Iplimage
void image_scale_image(int value, IplImage*pImage, int num_pic)
{
String name = "0" + std::to_string(value) + "\\" + std::to_string(num_pic) + ".jpg";
if (value != 1)
{
IplImage*Image = cvCreateImage(cvSize(pImage->width / value, pImage->height / value), 8, 3);
cvResize(pImage, Image, INTER_NEAREST);
cvSaveImage(name.c_str(), Image);
cvReleaseImage(&Image);
}
else
{
cvSaveImage(name.c_str(), pImage);
}
}

...全文
545 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
独行~背包客 2019-03-07
  • 打赏
  • 举报
回复
引用 4 楼 zgl7903 的回复:
加上存储参数试试看 cvSaveImage用法
之前有试过,今天又试了一下,和没加一样,


另外显示图片时的警告问题:libpng warning iccp known ...
https://bbs.csdn.net/topics/392520512?page=1#post-403742156
独行~背包客 2019-03-06
  • 打赏
  • 举报
回复

使用的是VS 2015 + opencv 3.4.4
独行~背包客 2019-03-06
  • 打赏
  • 举报
回复
引用 1 楼 zgl7903 的回复:
单步调试运行, 看是到哪一步出错?
看调用堆栈, 逐级看到代码处修改解决之
try catch 捕捉异常
#include <opencv.hpp>
using namespace cv;
int main()
{
IplImage*src = cvLoadImage("zhu.jpg", 1);
IplImage*dst = cvCloneImage(src);
namedWindow("src");
namedWindow("dst");
cvShowImage("src", src);
cvShowImage("dst", dst);

cvSaveImage("dst.jpg", dst);
// imwrite("zhu1.jpg", cvarrToMat(src));
waitKey(0);
cvDestroyAllWindows();
}

我写了点简单的代码,发现就是cvSaveImage()的问题,换成imwrite()就可以了
zgl7903 2019-03-06
  • 打赏
  • 举报
回复
加上存储参数试试看 cvSaveImage用法

zgl7903 2019-03-05
  • 打赏
  • 举报
回复
单步调试运行, 看是到哪一步出错?
看调用堆栈, 逐级看到代码处修改解决之
try catch 捕捉异常

19,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧