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中可以读取的图像扩展名一致。