OpenCV--图像的加载、显示、修改与保存
2017-11-27 20:25
579 查看
图像的加载与显示
cv:imread:图像的读取 imread有两个参数 第一个参数:读取图像的名称(包括路径) 第二个参数:表示加载图像的类型, 有三个值: ①IMREAD_UNCHANGED(<0)表示加载原图,不做任何修改 ②IMREAD_GRAYSCALE(0)表示把原图作为灰度图像加载进来 ③IMREAD_COLOR(>0)表示把原图作为RGB图像加载进来
cv::namedWindow与cv::imshow:图像的显示 cv::namedWindow:创建一个窗口用于显示图像,它是由Opencv自动创建与销毁 常见用法:namedWindow("windowTitle",WINDOW_AUTOSIZE); WINDOW_AUTOSIZE表示我们不能修改窗体的大小 WINDOW_NORMAL,跟QT集成使用,可以修改大小 cv::imshow:将图像显示在窗体上,两个参数 第一个参数:指定显示窗体的名称 第二个参数:Mat对象
实例:
void demo1(){ Mat m1 = imread("lena.jpg",IMREAD_UNCHANGED); if (m1.empty()) { cout<<"图像读取失败"<<endl; return; } namedWindow("IMREAD_UNCHANGED",WINDOW_AUTOSIZE); imshow("IMREAD_UNCHANGED",m1); Mat m2 = imread("lena.jpg",IMREAD_GRAYSCALE); if (m2.empty()) { cout<<"图像读取失败"<<endl; return; } namedWindow("IMREAD_GRAYSCALE",WINDOW_AUTOSIZE); imshow("IMREAD_GRAYSCALE",m2); Mat m3 = imread("lena.jpg",IMREAD_COLOR); if (m3.empty()) { cout<<"图像读取失败"<<endl; return; } namedWindow("IMREAD_COLOR",WINDOW_AUTOSIZE); imshow("IMREAD_COLOR",m3); cvWaitKey();//设置暂停,可以指定时间ms }
图像的修改
cv:cvtColor-->修改图像,将图像从一个彩色空间转换至另一个彩色空间。有三个参数 第一个参数:源图像 第二个参数:目标图像 第三个参数:源图像和目标图像的色彩空间,如:COLOR_BGR2GRAY,COLOR_BGR2HLS
实例:
void demo2(){ Mat src = imread("lena.jpg"); if(src.empty()){ cout << "图像加载失败" << endl; return; } Mat dest; namedWindow("COLOR_BGR2GRAY",WINDOW_AUTOSIZE); cvtColor(src,dest,COLOR_BGR2GRAY); imshow("COLOR_BGR2GRAY",dest); namedWindow("COLOR_BGR2HLS",WINDOW_AUTOSIZE); cvtColor(src,dest,COLOR_BGR2HLS); imshow("COLOR_BGR2HLS",dest); cvWaitKey(); }
图像的保存
cv:imwrite:图像的保存 只有8位、16位的png,tiff,jpg文件格式而且是单通道或三通道的图片才可以通过这种方式保存 png格式的文件可以通过透明通道进行保存 可以指定压缩参数
实例:
void demo3(){ Mat src = imread("lena.jpg"); if(src.empty()){ cout << "图像加载失败" << endl; return; } Mat dest; cvtColor(src,dest,COLOR_BGR2GRAY); imwrite("d://out.jpg",dest); //设置压缩参数 /* For JPEG, it can be a quality ( CV_IMWRITE_JPEG_QUALITY ) from 0 to 100 (the higher is the better). Default value is 95. For PNG, it can be the compression level ( CV_IMWRITE_PNG_COMPRESSION ) from 0 to 9. A higher value means a smaller size and longer compression time. Default value is 3. For PPM, PGM, or PBM, it can be a binary format flag ( CV_IMWRITE_PXM_BINARY ), 0 or 1. Default value is 1. */ vector<int> compression_params; compression_params.push_back(CV_IMWRITE_JPEG_QUALITY); compression_params.push_back(10); imwrite("d://out2.jpg",dest,compression_params); cvWaitKey(); }
相关文章推荐
- OpenCV图像的加载、显示、修改与保存
- 图像的打开、修改、显示和保存示例(>OpenCV 2.0)
- opencv3.1+vs2015配置及图像加载、修改、保存
- 数字图像处理与OpenCV(2)--载入、显示、保存及修改图像
- 小强学Python+OpenCV之-1.1图像加载、显示、保存
- OpenCV加载,修改,保存图像
- OPENCV 3. 图像的加载、保存与显示
- OpenCV 2 学习笔记(4): 加载,显示和保存图像,Mat类与IplImage类
- openCV—Python(2)—— 加载、显示和保存图像
- Python3+OpenCV学习笔记(一):图像加载、显示和保存
- opencv学习(二)之图像的加载、显示、保存
- OpenCV入门:(二:加载,显示,修改以及保存图片)
- OpenCV学习第二篇:加载,修改和保存图像(复习)
- [OpenCV]实验1.1:图像加载、显示
- [OpenCV]实验1.1:图像加载、显示
- opencv加载显示图像
- opencv加载并显示图像程序
- [学习OpenCV攻略][012][读取、修改、保存图像]
- opencv中的图像复制、保存和显示
- opencv程序一:加载显示图像