opencv学习HighGUI图形用户界面初步【1】
HighGUI是图形用户界面模块。包括:
1、输入与输出;
2、视频捕捉;
3、图形和视频的解码编码;
4、图形交界面与接口。
由于opencv.hpp包含了core、objdetect、ingproc、photo、video、featurse2d、calib3d、ml、highgui、contrib等模块。一般开发偷懒时
#include <opencv2\opencv.hpp>。 但是提交时还是用具体模块的头文件。
命名空间会让你书写代码简单:using namespace cv,那么可以这样imread(。。。);否则你要每次c::imread(。。。)。
Mat类(opencv2):这个类很重要。一定要查资料弄明白其结构及其使用。用class避开c的长短项:指针。
是用于保存图像以及其他矩阵数据的数据结构。默认的尺寸是0.也可以初始化尺寸:cv::Mat pic(320,640,cv::Scalar(100));
读取视频or图像文件:
Mat scrImage = imread("girl.jpg");
原型是:Mat imread(const string & filename,int flags=1)。
关注flags:自己查,有用。
图像显示:inshow(const string& winname,ImputArray mat)。InputArray/OutputAray很多时候可以简单当做Mat类型使用。
创建窗口:namedWindow(const string& winname,int flags=WINDOW_AUTOSIZE)。不常用的有destroyWindows() or destroyAllWindows()。
输出图像到文件:imwrite()。