OpenCV2学习笔记:图像的读取与显示

1. 图像读取:imread()

 Mat imread(const string& ?lename, int ?ags=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. 程序示例

下面的代码实现以三种不同的形式读取图像,并且显示它们。

 1 #include "stdafx.h"
 2 #include <opencv2\highgui\highgui.hpp>
 3 #include <opencv2\core\core.hpp>
 4
 5 using namespace cv;
 6
 7
 8 int _tmain(int argc, _TCHAR* argv[])
 9 {
10     Mat img1 = imread("D:/Media/Image/girl03.jpg", -1);
11     if (!img1.empty()) imshow("Alpha Image", img1);
12
13     Mat img2 = imread("D:/Media/Image/girl03.jpg", 0);
14     if (!img2.empty()) imshow("Gray Image", img2);
15
16     Mat img3 = imread("D:/Media/Image/girl03.jpg", 1);
17     if (!img3.empty()) imshow("Color Image", img3);
18
19     waitKey();
20
21     return 0;
22 }

运行结果如下:

            flags < 0 时的效果图

            flags = 0 时的效果图

            flags > 0 时的效果图

OpenCV2学习笔记:图像的读取与显示

时间: 2024-11-23 23:41:58

OpenCV2学习笔记:图像的读取与显示的相关文章

Opencv-Python:图像尺寸、图像的读取、显示、保存与复制

Opencv-Python:图像尺寸.图像的读取.显示.保存与复制 原创 2017年11月23日 21:30:49 4440 在使用opencv的方法时,首先必须导入opencv包.新的opencv导入cv2,这里也和cv做了一个对比 [python] view plain copy import cv2 一.图像尺寸 图像的大小可以通过其shape属性来获取,shape返回的是一个tuple元组,第一个元素表示图像的高度,第二个表示图像的宽度,第三个表示像素的通道数. 示例: [python]

OpenCV中图像的读取,显示与保存

图像的读取,显示与保存 相关函数:cv2.imread().cv2.imshow().cv2.imwrite() 1.读入图像: 用cv2.imread()函数来读取图像,cv2.imread(路径,图像颜色空间)(其中颜色空间默认为BGR彩图)     cv2.IMREAD_COLOR:读入一副彩色图像 cv2.IMREAD_GRAYSCALE:以灰度模式读入图像 cv2.IMREAD_UNCHANGED:读入一幅图像,并且包括图像的 alpha 通道 示例代码 import cv2 img

OpenCV2学习笔记(一):图像的基本操作

一直没有一个系统的时间来深入学习OpenCV,鉴于项目需要,记录一下一些要点以供日后查阅. OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和Mac OS操作系统上.其1.0版本于2006年面世,而在2009年又发布了重要的版本:OpenCV2,带来了新的C++接口:现在,OpenCV3也发布了,据说其Python接口大大增强.并且加入了Python 3.x的支持,还带来了许多新的提升,不过这并不在这里的讨论范围之内.这里使用的是:OpenCV2.4.

Python下opencv使用笔记(一)(图像简单读取、显示与储存)

写在之前 从去年開始关注python这个软件,途中间间断断看与学过一些关于python的东西.感觉python确实是一个简单优美.easy上手的脚本编程语言,众多的第三方库使得python异常的强大.能够处理很多不同的问题,同一时候它的很多开源免费的库使得python的使用也是十分的广泛. 在科学计算.数据处理与图像领域,自己以前一直在使用matlab.感觉matlab也是一个语言优美.简单方便的编程语言,都说matlab与python在某些领域是非常类似的,确实是这样,就科学计算.数据处理上真

opencv c++:图像的读取,显示,写入,颜色空间转换

读取.显示 C++ #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(int artc, char** argv) { // Mat src = imread("D:/vcprojects/images/test.png"); Mat src = imread("D:/vcprojects/images/

opencv:图像的读取,显示,写入文件

#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(int argc, char** argv) { // 图像内存对象,在C++中是以Mat对象形式保存的 Mat img = imread("f:/temp/images/lena.jpg"); /* imread的默认选项:IMREAD_COLOR,默认会将图像加

图像的读取,显示与保存(基于skimage模块)

一 skiamge模块 skimage包的全称是scikit-image SciKit (toolkit for SciPy) ,它对scipy.ndimage进行了扩展,提供了更多的图片处理功能.它是由python语言编写的,由scipy 社区开发和维护.skimage包由许多的子模块组成,各个子模块提供不同的功能.主要子模块列表如下: 子模块名称 主要实现功能 io 读取.保存和显示图片或视频 data 提供一些测试图片和样本数据 color 颜色空间变换 filters 图像增强.边缘检测

OpenCV学习:图像的载入和显示

一.使用IplImage结构读取并显示图像文件: 运行结果: 二.使用Mat类读取并显示图像文件: 使用 Mat 类,内存管理变得简单,不再像使用 IplImage 那样需要自己申请和释放内存,而且一些函数,如imread.imshow以及imwrite等与之前用过的matlab图像处理工具箱同名,使用起来非常方便. 运行结果:

OpenCV2学习笔记(九):视频流读取与处理

由于项目需要,计划实现九路视频拼接,因此必须熟悉OpenCV对视频序列的处理.视频信号处理是图像处理的一个延伸,所谓的视频序列是由按一定顺序进行排放的图像组成,即帧(Frame).在这里,主要记录下如何使用Qt+OpenCV读取视频中的每一帧,之后,在这基础上将一些图像处理的算法运用到每一帧上(如使用Canny算子检测视频中的边缘). 一. 读取视频序列 OpenCV提供了一个简便易用的框架以提取视频文件和USB摄像头中的图像帧,如果只是单单想读取某个视频,你只需要创建一个cv::VideoCa