opencv中的函数使用

OpenCV图像处理-Mat对象常用方法

1.imshow()函数

imshow()函数用于在指定的窗口显示一幅图像,函数原型如下:

void imshow(const string& winname, InputArray mat);

第一个参数:const string&类型的winname,填需要显示的窗口标识名称。
第二个参数:InputArray类型的mat,填需要显示的图像。
imshow函数用于在指定的窗口显示图像。如果窗口是用CV_WINDOW_AUTSIZE(默认值)标志创建的,那么显示图像原始大小。否则将图像进行缩放成合适窗口。而imshow函数缩放图像,取决于图像的深度。

2.namedWindow()函数

namedWindow函数用于创建一个窗口,若是简单地进行图片显示,可以略去namedWindow函数的调用,即先调用imread读入图片,然后用imshow直接指定出窗口名进行显示即可。但需要在显示窗口之前就用到窗口名时,比如滑动条的使用,要指定滑动条依附到某个窗口上,就需要nameWindow函数先创建窗口,显示地规定窗口名称了。nameWindow函数原型如下:

void nameWindow(const string& winname, int flags=WINDOW_AUTOSIZE);

第一个参数,const string&类型的name,填写被用作窗口的标识符的窗口名称。
第二个参数,int类型的flags,窗口的标识。
nameWindow函数的作用是通过指定的名字,创建一个可以作为图像和进度条的容器窗口,如果具有相同的名称的窗口已经存在,则函数不做任何事情。

cv2.namedWindow(‘窗口标题’,默认参数)

1.窗口大小可以改变:

cv2.namedWindow("image",cv2.WINDOW_NORMAL)
或者cv2.namedWindow('image',cv2.WINDOW_GUI_NORMAL)

2.窗口大小不可以改变:

cv2.namedWindow("image",cv2.WINDOW_AUTOSIZE)

3.窗口大小自适应比例:

cv2.namedWindow("image",cv2.WINDOW_FREERATIO)

4.窗口大小保持比例:

cv2.namedWindow("image",cv2.WINDOW_KEEPRATIO)

5.显示色彩变成暗色:

cv2.namedWindow('image',cv2.WINDOW_GUI_EXPANDED)
cv2.imshow(‘窗口标题’,image),如果前面没有cv2.namedWindow,就自动先执行一个cv2.namedWindow()

3.imwrite()函数

在OpenCV中,输出图像到文件一般采用imwrite函数,它的声明如下:

bool imwrite(const string& filename, InputArray img, const vector<int>& params=vector<int>() );
第一个参数,const string&类型的filename,填需要写入的文件名。注意要带上后缀,如“123.jpg”。
第二个参数,InputArray类型的img,一般填一个Mat类型的图像数据。
第三个参数,const vector<int>&类型的params,表示为特定格式保存的参数编码。它有默认值vector<int>(),所以一般情况下不需要填写

imwrite函数用于将图像保存到指定的文件。图像格式是基于文件扩展名的,可保存的扩展名和imread中可以读取的图像扩展名一致。