OpenCV2 图像读取、显示、保存

来源:互联网 发布:大学生网络借贷的原因 编辑:程序博客网 时间:2024/05/18 02:02
转自 : http://blog.csdn.net/jameshater/article/details/50087751

之前看《学习OpenCV》这本书,一直在用IplImage,但是我自己安装的是OpenCV2的,因此,在学这本书的时候,结合自己用的时候会出现很多的疑惑,知道现在才搞清楚,原来这本书是基于OpenCV1的........不过幸好发现的早,今天主要学习了OpenCV2中队图像的基本操作,如图像的载入,图像的显示以及保存等基本操作,确实感觉比OpenCV1方便很多,贴上今天的敲的代码。

[cpp] view plain copy
  1. /***************************************************** 
  2. **      第二讲 图像读取、显示、保存等基本操作 
  3. *****************************************************/  
  4.   
  5. #include "cv.h"  
  6. #include "highgui.h"  
  7. #include <iostream>  
  8.   
  9. using namespace std;  
  10. using namespace cv;  
  11.   
  12. int main(int argc, char * argv[])  
  13. {  
  14.     Mat image;      //定义一个图像对象  
  15.     image = imread("G:/Learning/Machine_version/Photo/test.jpg");   //读取图像  
  16.   
  17.     if (!image.data)        //判断图像载入是否成功  
  18.     {  
  19.         cout << "Fail to load image!!" << endl;  
  20.         system("pause");  
  21.         return 0;  
  22.     }  
  23.   
  24.     Mat src1;  
  25.     image.copyTo(src1);     //将图像image深拷贝到src1中  
  26.     flip(src1, src1, 1);    //对图像进行翻转  
  27.     namedWindow("src1");    //创建窗口src1  
  28.     imshow("src1", src1);   //在窗口src1中显示翻转后的图像  
  29.   
  30.   
  31.     namedWindow("my");      //创建窗口My  
  32.     imshow("my", image);    //在窗口my中显示image图像  
  33.     int key=waitKey(0);     //等待按键的输入  
  34.   
  35.     imwrite("my.jpg", image);   //  将image图像保存为my.jpg  
  36.       
  37.   
  38.     cout << "Size of image is: " << image.size().height << ", " //获得图像的高,宽等尺寸  
  39.         << image.size().width << endl;  
  40.     cout << "ASCII of the key is: " << key << endl;  
  41.   
  42.     /******************自己定义图像对象***********************/  
  43.     //Mat image(200, 100, CV_8UC1, Scalar(100));  
  44.     //Mat src;  
  45.     //src = image;  //浅拷贝,src和image共用同一片内存  
  46.     ////image.copyTo(src);//深拷贝,各自占用一块内存区域,对src的操作不会影响image  
  47.   
  48.     system("pause");  
  49.     return 0;  
  50. }  


1 0