OpenCV2学习笔记04:图像的读取与显示
2014-08-10 16:26
609 查看
1. 图像读取:imread()
参数介绍:
filename: 待加载的文件名称。
flags: 此标志用来指定被加载图像的颜色类型(color type)。这个标志的取值可以有:
-- CV_LOAD_IMAGE_ANYDEPTH : 如果设置这个标志的话,如果图像为16位或32位深度的图像,则返回对应深度的图像;否则,将图像转换为8位深度图像再返回。
-- CV_LOAD_IMAGE_COLOR : 如果设置此标志,则总是将图像转换为彩色图像。
-- CV_LOAD_IMAGE_GRAYSCALE : 如果设置此标志,总是将图像转换为灰度图像。
当然,我们也可以不使用这三个标志,只要是整型变量都可以,但是,其取值需要遵从下面的规律:
flags > 0 : 返回一幅3通道的彩色图像。注意:在此实现中输出的图像是不载入alpha通道的,如果你需要使用alpha通道,请使用负值。
flags = 0 : 返回一幅灰度图像。
flags < 0 : 返回一幅反映图像本身形式的图像(带有alpha通道)。
2. 图像显示:imshow()
参数介绍:
winname: 显示图像的窗口名称。
mat: 待显示的图像。
3. 程序示例
下面的代码实现以三种不同的形式读取图像,并且显示它们。
View Code
运行结果如下:
![](http://images.cnitblog.com/i/640985/201408/101623116628173.png)
flags < 0 时的效果图
![](http://images.cnitblog.com/i/640985/201408/101624528502322.png)
flags = 0 时的效果图
![](http://images.cnitblog.com/i/640985/201408/101625072409317.png)
flags > 0 时的效果图
Mat imread(const string& filename, int flags=1 )
参数介绍:
filename: 待加载的文件名称。
flags: 此标志用来指定被加载图像的颜色类型(color type)。这个标志的取值可以有:
-- CV_LOAD_IMAGE_ANYDEPTH : 如果设置这个标志的话,如果图像为16位或32位深度的图像,则返回对应深度的图像;否则,将图像转换为8位深度图像再返回。
-- CV_LOAD_IMAGE_COLOR : 如果设置此标志,则总是将图像转换为彩色图像。
-- CV_LOAD_IMAGE_GRAYSCALE : 如果设置此标志,总是将图像转换为灰度图像。
当然,我们也可以不使用这三个标志,只要是整型变量都可以,但是,其取值需要遵从下面的规律:
flags > 0 : 返回一幅3通道的彩色图像。注意:在此实现中输出的图像是不载入alpha通道的,如果你需要使用alpha通道,请使用负值。
flags = 0 : 返回一幅灰度图像。
flags < 0 : 返回一幅反映图像本身形式的图像(带有alpha通道)。
2. 图像显示:imshow()
void imshow(const string& winname, InputArray mat)
参数介绍:
winname: 显示图像的窗口名称。
mat: 待显示的图像。
3. 程序示例
下面的代码实现以三种不同的形式读取图像,并且显示它们。
#include "stdafx.h" #include <opencv2\highgui\highgui.hpp> #include <opencv2\core\core.hpp> using namespace cv; int _tmain(int argc, _TCHAR* argv[]) { Mat img1 = imread("D:/Media/Image/girl03.jpg", -1); if (!img1.empty()) imshow("Alpha Image", img1); Mat img2 = imread("D:/Media/Image/girl03.jpg", 0); if (!img2.empty()) imshow("Gray Image", img2); Mat img3 = imread("D:/Media/Image/girl03.jpg", 1); if (!img3.empty()) imshow("Color Image", img3); waitKey(); return 0; }
View Code
运行结果如下:
![](http://images.cnitblog.com/i/640985/201408/101623116628173.png)
flags < 0 时的效果图
![](http://images.cnitblog.com/i/640985/201408/101624528502322.png)
flags = 0 时的效果图
![](http://images.cnitblog.com/i/640985/201408/101625072409317.png)
flags > 0 时的效果图
相关文章推荐
- 【opencv学习笔记五】一个简单程序:图像读取与显示
- OpenCV入门_学习笔记_读取、显示、处理图像
- Opencv学习笔记(2)模块,图像读取、显示、叠加、融合、颜色分离、亮度、对比度
- Python OpenCV学习笔记之:图像读取,显示及保存
- OpenCV(C++接口)学习笔记1-图像读取、显示、保存
- 【OpenCV学习笔记】三、图像读取、显示及保存
- OpenCV(C++接口)学习笔记1-图像的读取、显示、保存
- OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- 【OpenCV学习笔记5】读取图像中任意点的像素值
- OpenCV 学习笔记(1)安装设置、显示图像
- opencv 2.x学习笔记(一)加载和显示图像
- OpenCV学习笔记【1】:初试牛刀--显示图像
- 【opencv学习笔记1】显示图像
- 【Ubuntu+OpenCV】ubuntu/linux环境下,运用opencv实现图像的读入、显示--学习笔记【1】
- OpenCV学习笔记-显示图像
- OpenCV学习笔记01--图像和视频的显示
- 【OpenCV学习笔记】【函数学习】十一(读入图像﹑显示图像和保存图像)
- OpenCV 学习笔记(1)显示图像
- opencv学习——在MFC中读取和显示图像
- opencv [c++版] 学习笔记(1) 显示图像及播放视频