OpenCV 学习笔记1

来源:互联网 发布:阿里云香港如何使用cdn 编辑:程序博客网 时间:2024/04/27 15:37

将OpenCV和VS配置成功后,开始编写程序。

值得说明的是,在OpenCV中,有以下两种形式的函数调用,

一种定义在highgui_c.h中,例如:cvNamedWindow("test", CV_WINDOW_AUTOSIZE),这种形式的函数调用要使用cv作为函数的限定;

一种定义在highgui.hpp中,例如:namedWindow("test", WINDOW_AUTOSIZE),这种形式的函数调用要在函数头部申明 using namespace cv;

第一种形式在opencv1.x中用的较多,基于c接口的函数;第二种形式在opencv2.x中用的较多,基于c++接口的函数。

下面这段代码实现简答的读取和显示图片的功能。

#include <opencv2/highgui/highgui.hpp>using namespace cv;int main(){Mat img = imread("test.jpg");namedWindow("test", WND_PROP_FULLSCREEN);imshow("test",img);waitKey(0);return 0;}


imread()函数主要将该filename所指定路径的指定文件读取到img数组中。

该函数读取的是默认的三通道图像,读取的顺序默认情况下是BGR顺序,如果想得到单通道(灰度级的)图像,则可以使用下面的方式:Mat img=imread(filename, 0);


namedWindow()函数用于在屏幕上创建一个窗口,将被显示的图像包含于改窗口中。

第一个参数指定了该窗口的窗口标题,(如本例中“test”),我们可以通过该参数引用这个窗口。
第二个参数定义了窗口的属性,(如本例中:WND_PROP_FULLSCREEN)


imshow()用于显示图像。

第一个参数确定在哪个已存在的窗口中显示图像,(如本例中:用“test”来引用上面已经创建的窗口)
第二个参数用于传递数据;


waitKey()函数的功能是使程序暂停,等待用户在图像界面触发一个按键操作。

如果该函数参数设为一个正数,则程序暂停一段时间,时间长度为该数值个毫秒单位,然后继续执行程序。



0 0