您的位置:首页 > 其它

图像读取显示保存操作

2018-03-09 20:40 579 查看
#include <opencv2/core/core.hpp>//  否则会出现err:未定义标识符 "USAGE_DEFULT"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
using namespace cv;
using namespace std;
/*
core是opencv的主要头文件,虽然是hpp,但其实跟.h是一样的,
包括数据结构,矩阵运算,数据变换,内存管理,文本和数学等功能,
看名称就差不多明白了,是内核的头,highgui是另外一个重要的头文件,
包括图形界面和视频图像处理的头文件
*/

int main()
{
//1 读取原始图像源
//第一个参数为要读入的图像;第二个参数默认值为1,即IMREAD_COLOR,这个参数可以省略不写;
//srcImage = imread("dog.jpg", IMREAD_COLOR);
Mat srcImage = imread("C:\\Users\\Administrator\\Desktop\\demo01.jpg");
//2 检查是否读取图像成功
if (srcImage.empty())
{
cout << "读取图像有误,请重新输入正确路径!\n";
return -1;
}

//3 创建具有图像名称的窗口
namedWindow("原始图", WINDOW_AUTOSIZE);
//4 在窗口中显示图片
imshow("原始图", srcImage);

//5 转为灰度图像
Mat srcGray;
//@see @ref imgproc_color_conversions
//CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );
cvtColor(srcImage,srcGray,CV_RGB2GRAY);
imshow("srcGray",srcGray);

//6 均值平滑
Mat blurDstImage;
//CV_EXPORTS_W void blur( InputArray src, OutputArray dst,
//Size ksize, Point anchor = Point(-1, -1),
//int borderType = BORDER_DEFAULT );
blur(srcGray,blurDstImage,Size(5,5),Point(-1,-1));
imshow("blurDstImage",blurDstImage);

//7 写入图像 保存图像
imwrite("保存的图像.jpg", blurDstImage);

//8 保持等待状态
//在imshow之后如果没有waitKey语句则不会正常显示图像
waitKey();//括号里可以填任意正整数,意味着,图像显示的毫秒时间

system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: