opencv是计算机视觉中一个很出名的开源的库,第一次接触opencv,我们尝试使用opencv去加载一张图像。代码如下。
#include<iostream>
#include"opencv2/highgui/highgui.hpp"
using namespace cv;
using namespace std;
int main(void)
{
Mat originalImage = imread("C:\\code\\c_plus_plus\\opencv\\test_image\\beauty.jpg",0);
if (originalImage.empty())
{
cout << "fail to load image !" << endl;
return -1;
}
namedWindow("opencv test", CV_WINDOW_AUTOSIZE);
imshow("opencv test", originalImage);
waitKey(0);
destroyWindow("opencv test");
return 0;
}
这里有几点需要说明的:
-
如果没有使用cv的命名空间,那么opencv中的函数需要在使用的时候加上cv前缀,比如cv::Mat
-
Mat是opencv中最常用的结构,opencv使用这个结构去处理所有类型的图片:单通道、多通道、整形、浮点型。
-
nameWindow这个函数是用来分配给窗口一个名字的,第一个参数是窗口的名字,第二个参数是图片啊打开的大小,如果设置为0,就会被定义为默认大小,如果设置为WINDOW_AUTOSIZE就会自动根据图片大小去调整输出大小。
-
imshow函数则是会创造一个窗口(如果原本没有使用nameWindow函数创造的话)然后显示图片。
-
函数格式:waitKey(x);
参数x :等待x秒,如果在x秒期间,按下任意键,则立刻结束并返回按下键的ASCll码,否则返回-1 若 x=0,那么会无限等待下去,直到有按键按下。