OPENCV
一、 Opencv 基本架构分析
多模块组合起来的一个软件开发工具包(SDK)
1、【calib3d】
2、【cntrib】
3、【core】:核心功能模块。
4、【imgproc】:图像处理模块。
5、【features2d】
6、【flann】
7、【gpu】
8、【highgui】:高层GUI图形用户界面,包含媒体的输入输出、视频捕捉、图像视频的编码和解码、图形交互界面的接口内容等。
9、【legacy】
…
二、 HighGui图形用户界面初步
1、 opencv的命名空间:opencv的C++类和函数都是定义在命名空间cv之内的,访问方法:(1)、在代码开头的适当位置加上using namespace cv (2)、在使用opencv的每个内和函数时,都加入cv::命名空间。
2、 图像的载入:imread()函数
Mat imread(const string& filename, int flags=1);
(1)、const string&类型的filename,填我们需要载入的图片路径名称。
(2)、int类型的flags,为载入标志,它指一个加载图像的颜色类型。
3、图像的显示:imshow()函数
Void imshow(const string& winname, InputArray mat);
(1)、const string&类型的winname,填需要显示的窗口标识名称。
(2)、InputArray类型的mat,填需要显示的图像。
4、创建窗口:namedWindow()函数
void namedWindow(const string& winname, int flags=WINDOW_AUTOSIZE);
(1)、const string&类型的name,填写被作用窗口的标识符的窗口名称。
(2)、int类型的flags,窗口的标识,可填写WINDOW_AUTOSIZE、WINDOW_NORMAL或WINDOW_OPENGL
5、输出到文件:imwrite()函数
bool imwrite(const string& finename, InputArray img , const vector (1)、const string&类型的finename,填需要写入的文件名。注意带上后缀,如“123.jpg” (2)、InputArray类型的img,一般填一个Mat类型的图像数据。 (3)、const wector 6、创建滑动条:createTrackbar()函数 C++: int createTrackbar(conststring& trackbarname, conststring& winname, int* value, int count, TrackbarCallback onChange=0, void* userdata=0); (1)、conststring&类型的trackbarname,轨迹条的名字,用来代表我们创建的轨迹条。 (2)、conststring&类型的winname,窗口的名字,表示这个轨迹条会依附到哪个窗口上,即对应namedWindow()创建窗口时填写的某一个窗口名。 (3)、int*类型的value,一个指向整形的指针,表示滑块的位置。在创建时,滑块的初始位置就是该变量当前的值。 (4)、int类型的count,表示滑块可以达到的最大位置的值。滑块最小位置的值始终为0. (5)、TrackbarCallback类型的onChange,它有默认值0。这是一个指向回调函数的指针,每次滑块位置改变时,这个函数都会进行回调。并且这个函数的原型必须为void XXX(int void*);,其中第一个参数是轨迹条的位置,第二个参数是用户数据。如果回调是NULL指针,则表示没有回调函数的调用,仅第三个参数value有变化。 (6)、void*类型的userdata,默认值0.这个参数是用户传给回调函数的数据,用来处理轨迹条事件。如果使用的第三个参数value实参是全局变量的话,完全可以不去管userdata参数。 7、获取当前轨迹条的位置:getTrackbarPos()函数 C++: int getTrackbarPos(conststring& trackbarname, conststring& winname); (1)、conststring&类型的trackbarname,表示轨迹条的名字。 (2)、conststring&类型的winname,表示轨迹条的父窗口的名称。 8、鼠标操作:SetMouseCallback() C++: void SetMouseCallback(conststring& winname, MouseCallback onMouse, void* userdata=0) (1)、conststring&类型的winname,窗口的名字。 (2)、MouseCallback类型的onMouse,指定窗口里每次鼠标时间发生的时候,被调用的函数指针。这个函数的原型大概为void Foo(int event, int x, int y, int flags, void* param)。其中event是EVENT_+变量之一,x、y是鼠标指针在图像坐标系中的坐标值,flags是EVENT_FLAG的组合,param是用户定义的传递到SetMouseCallback函数调用的参数。如EVENT_MOUSEMOVE为鼠标移动消息、EVENT_LBUTTONDOWN为鼠标左键按下消息等。 (3)、void*类型的userdata,用户定义的传递到回调函数的参数,默认值0。 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务