OpenCV2中图像读取、显示、保存等基本操作
2015-11-28 21:44
309 查看
之前看《学习OpenCV》这本书,一直在用IplImage,但是我自己安装的是OpenCV2的,因此,在学这本书的时候,结合自己用的时候会出现很多的疑惑,知道现在才搞清楚,原来这本书是基于OpenCV1的........不过幸好发现的早,今天主要学习了OpenCV2中队图像的基本操作,如图像的载入,图像的显示以及保存等基本操作,确实感觉比OpenCV1方便很多,贴上今天的敲的代码。
/***************************************************** ** 第二讲 图像读取、显示、保存等基本操作 *****************************************************/ #include "cv.h" #include "highgui.h" #include <iostream> using namespace std; using namespace cv; int main(int argc, char * argv[]) { Mat image; //定义一个图像对象 image = imread("G:/Learning/Machine_version/Photo/test.jpg"); //读取图像 if (!image.data) //判断图像载入是否成功 { cout << "Fail to load image!!" << endl; system("pause"); return 0; } Mat src1; image.copyTo(src1); //将图像image深拷贝到src1中 flip(src1, src1, 1); //对图像进行翻转 namedWindow("src1"); //创建窗口src1 imshow("src1", src1); //在窗口src1中显示翻转后的图像 namedWindow("my"); //创建窗口My imshow("my", image); //在窗口my中显示image图像 int key=waitKey(0); //等待按键的输入 imwrite("my.jpg", image); // 将image图像保存为my.jpg cout << "Size of image is: " << image.size().height << ", " //获得图像的高,宽等尺寸 << image.size().width << endl; cout << "ASCII of the key is: " << key << endl; /******************自己定义图像对象***********************/ //Mat image(200, 100, CV_8UC1, Scalar(100)); //Mat src; //src = image; //浅拷贝,src和image共用同一片内存 ////image.copyTo(src);//深拷贝,各自占用一块内存区域,对src的操作不会影响image system("pause"); return 0; }
相关文章推荐
- ARM Linux学习,从宿主机传程序到ARM——环境搭建2
- pyopengl 学习日志(1)--配置环境
- Linux cscope命令
- aop
- [前端]分享一个Bootstrap可视化布局的网站
- linux mount/umount挂载命令解析。
- 手动安装liberty版本openstack环境(allinone)---安装dashboard
- linux 下 cat
- Linux(centos6.5)下安装jenkins(可行)
- Linux命令学习笔记(1)----cat命令
- aop介绍
- linux小结之一:常见文件查找方法
- Learning OpenStack Keystone
- 手动安装liberty版本openstack环境(allinone)---安装neutron
- 我在mac os上安装gopherjs的过程
- 关于hadoop 配置文件的一些实验
- Shell学习笔记 - 循环语句
- Opencv人头跟踪检测
- Linux之——基础命令
- Docker镜像