OpenCV学习笔记(01) :读取图片并显示

来源:互联网 发布:软考中级数据库工程师 编辑:程序博客网 时间:2024/06/05 05:40
  • 使用环境
    Windows 7 + Visual Studio2013 + OpenCV3.1

  • 编程实现

#include<opencv2\opencv.hpp>using namespace cv;int main(){    Mat src = imread("Test.jpg", IMREAD_COLOR);    namedWindow("Show", WINDOW_OPENGL);    imshow("Show", src);    waitKey(0);    return 0;}
  • 运行结果

这里写图片描述

  • 程序解读
    1.`对opencv.hpp头文件的学习
    在opencv源文件路径下可以直接看opencv.hpp文件的源代码
#ifndef __OPENCV_ALL_HPP__#define __OPENCV_ALL_HPP__#include "opencv2/core.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/photo.hpp"#include "opencv2/video.hpp"#include "opencv2/features2d.hpp"#include "opencv2/objdetect.hpp"#include "opencv2/calib3d.hpp"#include "opencv2/imgcodecs.hpp"#include "opencv2/videoio.hpp"#include "opencv2/highgui.hpp"#include "opencv2/ml.hpp"#endif

不难发现,opencv.hpp几乎包含了opencv所需的所有模块,因此,我们在使用OpenCV3.1的时候,头文件引用只需要用一句#include<opencv2/opencv.hpp>就可以了。

2.imread 函数

Mat cv::imread(const String & filename,    int flags = IMREAD_COLOR) 

从指定的路径读取文件,读取失败返回 Mat::data==NULL
flags 是读取图片的方式,常用的有
IMREAD_GRAYSCALE 灰度读取
IMREAD_COLOR 色图读取,注意,OpenCV储存色彩通道是按BGR的顺序来的

3.namedWindow函数

void cv::namedWindow( const String & winname,    int flags = WINDOW_AUTOSIZE )   

创建一个窗体,作为一个图片或者是滑动条的占位符,该窗体根据名字来创建。可以通过flags设置窗体属性,常见的有:

**WINDOW_NORMAL 系统将调整合适的显示大小,用户可以改变大小
WINDOW_AUTOSIZE 显示图片原始大小,且不可调整**

4.imshow函数

void cv::imshow(const String & winname,InputArray mat) 

在指定的窗体中显示指定的图片。其中InputArray是一个强大的接口类,兼容Mat类型。

5.waitKey函数

int cv::waitKey (int delay = 0) 

HighGUI 唯一能够获取并处理事件的函数。换言之,imshow之后必须紧随一个waitKey,不然的话,将无法显示图片。delay的单位是ms,为正数时,表示等待时间,为非正数时,表示暂停等待按键。

2 0
原创粉丝点击