OpenCV学习笔记(一)图像的载入,显示和输出
2016-11-10 15:58
225 查看
0 开胃菜
0.1 Opencv的头文件和命名空间
命名空间OpenCV中的C++类和函数都是定义在命名空间cv之内的,有两种方法可以访问。第一种是,在代码开头的适当位置,加上usingnamespace cv;这句。
另外一种是在使用OpenCV类和函数时,都加入cv::命名空间。不过这种情况难免会不爽,每用一个OpenCV的类或者函数,都要多敲四下键盘写出cv::,很麻烦。
头文件
有两种包含头文件的方式:
①
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv;
②
#include <cxcore.h> #include <cv.h> #include <highgui.h> using namespace cv;
这两种方式的作用应该是一样的,一个是在opencv1.0中的配置,一个是在opencv2.x中的配置,没有好与不好之分。
0.2 关于Mat类型
对于OpenCV1.0时代的基于 C 语言接口而建的图像存储格式IplImage*,如果在退出前忘记release掉的话,就会照成内存泄露。而且用起来超级麻烦,我们往往在debug的时候,很大一部分时间在纠结手动释放内存的问题。虽然对于小型的程序来说手动管理内存不是问题,但一旦我们写的代码变得越来越庞大,我们便会开始越来越多地纠缠于内存管理的问题,而不是着力解决你的开发目标。这,就有些舍本逐末的感觉了。
自从OpenCV踏入2.0时代,用Mat类数据结构作为主打之后,OpenCV变得越发像需要很少编程涵养的Matlab那样,上手超级快。甚至有些函数名称都和matlab一样,比如大家所熟知的imread,imwrite,imshow等函数。
这对于我们广大图像处理领域的孩子们来说,这的确是一个可喜可贺的事情。
cv::Mat类是用于保存图像以及其他矩阵数据的数据结构。默认情况下,其尺寸为0,我们也可以指定初始尺寸,比如,比如定义一个Mat类对象,就要写cv::Mat pic(320,640,cv::Scalar(100));
Mat类型作为OpenCV2新纪元的重要代表“人物”,在稍后的文章中,会花长篇幅详细讲解它,现在我们只要理解,它是对应于OpenCV1.0时代的IplImage的主要用来存放图像的数据结构就行了。对于这篇文章,我们需要用到关于Mat其实就简单的这样一句代码:
Mat myMat= imread("dota.jpg");
表示从工程目录下把一幅名为dota.jpg的jpg类型的图像载入到Mat类型的myMat中。这里的imread函数这篇文章的下文就会详细剖析到。
1 图像的载入和显示
在新版本的OpenCV2中,最简单的图像载入和显示只需要3句代码,非常便捷。这三句代码分别对应了三个函数,他们分别是:imread( ), namedWindow( )以及imshow( )。我们依次来解析一下这三个函数。
1.1 imread函数
函数原型:Mat imread(const string& filename, int flags=1 );
参数:
const string& filename
填写我们需要载入的图片的路径。
在OpenCV的imread函数支持如下类型的图像载入:
•Windows位图 - * .bmp, * .dib
•JPEG文件 - * .jpeg, * .jpg, * .jpe
•JPEG 2000文件- * .jp2
•PNG图片 - * .png
•便携文件格式- * .pbm, * .pgm, * .ppm
•Sun rasters光栅文件 - * .sr, * .ras
•TIFF 文件 - * .tiff,* .tif
2.int flags
载入标识:他可以指定当前加载图像的颜色类型。
缺省值为1:三通道彩色图像。
参考:
本系列文章是学习下列文章的笔记。
@浅墨_毛星云 出品,转载请注明出处。
文章链接: http://blog.csdn.net/poem_qianmo/article/details/20537737
作者:毛星云(浅墨) 邮箱: happylifemxy@163.com
相关文章推荐
- opencv学习笔记(十一)——图像的载入,显示和输出到文件
- 初学Opencv 之 (二)图像的载入 显示与输出
- 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析
- OpenCV之三 图像的载入,显示和输出
- 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析
- 【OpenCV学习笔记 003】图像的载入、显示和输出
- 【OpenCV_03】图像载入,显示和输出 Read & Display Image
- opencv学习笔记(一)——图像加载、显示、输出
- 第3章 HighGUI图形用户界面初步_3.1图像的载入/显示/输出
- 《OpenCV3.0 编程入门》书中3.1.9节图像的载入、显示与输出示例程序练习报异常问题
- OpenCV--图像的载入、显示和输出
- OpenCV 图像的载入,显示,初级图像混合与输出
- 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析(转)
- OpenCV学习笔记(5)图像的载入,显示和输出
- 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析
- 图像的载入,显示和输出 一站式完全解析
- 图像的载入、显示和输出示例
- 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析
- Opencv学习三-图像的载入,显示和输出
- 【计算机视觉】EmguCV学习笔记(2)图像的载入、显示和输出