OpenCV 3 保存修复后的图片,程序停止工作

xuyao12580 2016-05-11 11:07:26
使用OpenCV 修复图像后,打算保存图片到磁盘,使用imwrite函数,运行时,程序停止



程序代码:


#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/photo/photo.hpp"

#include <iostream>
#include<ctime>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
//读取图像和mask图像
char* filename = argc >= 2 ? argv[1] : (char*)"E:\\vs_code\\cqupt.jpg";
Mat img0 = imread(filename,1);
if (img0.empty())
{
cout << "Couldn't open the image " << filename << ". Usage: inpaint <image_name>\n" << endl;
return 0;
}



img = img0.clone();

imshow("原图", img);

Mat inpaintMask = imread("E:\\vs_code\\mask.jpg", 0);
imshow("mask图", inpaintMask);
Mat inpainted;
//注意这个inpaintmask的
clock_t start, finish;
start = clock();

inpaint(img, inpaintMask, inpainted, 3, CV_INPAINT_TELEA);
finish = clock();
cout << "修复耗时:" << (double)(finish - start) / CLOCKS_PER_SEC << endl;

imshow("修复后的图", inpainted);
cout << "通道数:" << inpainted.channels() << endl;//输出3
cout << "类型:" << inpainted.type() << endl;//输出16
inpainted.convertTo(inpainted, CV_8UC3);
//保存到本地
imwrite("E:/result.png", inpainted);

cv::waitKey();

return 0;

}



请教大神们,程序那里出错了。因为需要使用修复后的图片与原图对比,所以必须保存修复后的图片。我用的是OpenCV3,vs community 2015。谢谢了。
...全文
243 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuyao12580 2016-05-12
  • 打赏
  • 举报
回复
最后确定是环境的问题,附加依赖项少了两个。可以结贴了。

4,246

社区成员

发帖
与我相关
我的任务
社区描述
OpenCV相关技术交流专区
计算机视觉人工智能opencv 技术论坛(原bbs) 广东省·深圳市
社区管理员
  • OpenCV
  • 幻灰龙
  • OpenCV中国团队
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

OpenCV中国团队官方博客:https://blog.csdn.net/opencvchina

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