读取、修改、保存图像---opencv
2013-09-02 19:20
330 查看
目标
如下,将学习如何使用:图像读取 imread
图像颜色空间的转换 cvtColor
图像保存至硬盘 (using imwrite)
代码
代码如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <cv.h> #include <highgui.h> using namespace cv; int main( int argc, char** argv ) { if(argc != 2) { printf("useage: %s <imagefile>\n ", argv[0]); return -1; } char* imageName = argv[1]; Mat image; image = imread( imageName, CV_LOAD_IMAGE_COLOR); if( !image.data ) { printf( " No image data \n " ); return -1; } Mat gray_image; cvtColor( image, gray_image, CV_BGR2GRAY ); imwrite( "../../images/Gray_Image.jpg", gray_image ); namedWindow( imageName, CV_WINDOW_AUTOSIZE ); namedWindow( "Gray image", CV_WINDOW_AUTOSIZE ); imshow( imageName, image ); imshow( "Gray image", gray_image ); waitKey(0); return 0; } |
注解
首先:创建Mat,用于保存图像内容。
使用 imread 读取图像,图像路径为 imageName ,图像按BGR格式读取。
其次,将RGB图像转化为灰度格式。Opencv中有现成的转化函数:
cvtColor( image, gray_image, CV_BGR2GRAY );
cvtColor 的参数为:
源图像 (image) 。
目标图像 (gray_image),用于保存转换图像。
附加参数,用于指定转换的类型,例子中使用参数 CV_BGR2GRAY 。参数的具体定义请参见cvColor函数的API文档。
然后,使用函数 imwrite 将得到的灰度图像 gray_image 保存到硬盘。程序结束时,该灰度图像将会被释放。
imwrite( "../../images/Gray_Image.jpg", gray_image );
该函数,将图像写入到指定的文件夹下,程序执行时需保证该文件夹存在。示例中,将得到的灰度图像写到../../images/下,命名为Gray_Image.jpg。
最后,为了检验图像是否正确,将原始图像和灰度图像分别显示到打开的窗口中:
namedWindow( imageName, CV_WINDOW_AUTOSIZE ); namedWindow( "Gray image", CV_WINDOW_AUTOSIZE ); imshow( imageName, image ); imshow( "Gray image", gray_image );
结尾的 waitKey(0) 函数,用于等待用户的按键操作来关闭窗口。
结语
程序运行后,将得到:![](http://www.opencv.org.cn/opencvdoc/2.3.2/html/_images/Load_Save_Image_Result_1.jpg)
检查你的输出文件夹,将发现一个新的.jpg文件。文件名为 Gray_Image.jpg :
![](http://www.opencv.org.cn/opencvdoc/2.3.2/html/_images/Load_Save_Image_Result_2.jpg)
恭喜你,到这儿你已经完成了整个程序!
相关文章推荐
- OpenCV 读取、修改、保存图像
- [学习OpenCV攻略][012][读取、修改、保存图像]
- opencv学习笔记之读取,修改,保存图像
- OpenCV2 图像读取、显示、保存
- OpenCV学习第二篇:加载,修改和保存图像(复习)
- OpenCV+ MFC 对图像的读取、显示、保存
- opencv读取视频保存成图像
- OpenCV图像的加载、显示、修改与保存
- OpenCV对图像进行读取→显示→保存的源码!
- OpenCV3读取、写入和保存图像
- opencv:图像读取、保存、尺度变换、二值化、腐蚀和膨胀
- opencv 2.x学习笔记(二)修改和保存图像
- OpenCV读取RGB图像像素值,并保存到txt中
- OpenCV读取、复制、保存图像
- 图像的打开、修改、显示和保存示例(>OpenCV 2.0)
- Python OpenCV学习笔记之:图像读取,显示及保存
- python+opencv 读取文件夹下的所有图像并批量保存ROI
- OpenCV应用笔记】(彩色/灰度)图像像素值读取并保存到txt文件
- python opencv —— io(帧、图像、视频的读取与保存)
- Opencv(1)---图像读取、显示、保存