opencv:图像的载入、显示以及创建窗口

图像的载入:imread()函数
opencv官方文档中的原型:
Mat imread (const string& filename,int flags=1);
(1)第一个参数,const string&类型的filename,填需要载入的图片路径名。
(2)第二个参数,int类型的flags,指定一个加载图像的颜色类型。默认值为1.有时候调用可以忽略,表示载入的三通道的彩色图像。
Flags>0返回一个3通道的彩色图像;
Flags=0返回灰度图像;
Flags<0返回包含Alpha通道的加载图像
注意:若以彩色模式载入图像,解码后的图像会以BGR的通道顺序进行存储,即蓝、绿、红的顺序,而不是RGB的顺序

例:
这里写图片描述

图像的显示:imshow()函数
Imshow()函数用于在指定的窗口中显示一幅图像,函数原型如下:
void imshow(const string& winname, InputArray mat);
第一个参数:const string&类型的winname,填需要显示的窗口标识名称
第二个参数:InputArray类型的mat,填需要显示的图像

如果窗口是用CV_WINDOW_AUTOSIZE(默认值)标志创建的,那么显示图像原始大小。否则按照图像的深度进行缩放适应窗口
    1、如果载入是8位无符号类型,就显示图像本来的样子
    2、如果是16位无符号类型或32位整形,则用像素值除以256。也就是说,值得范围是[0,255x256]映射到[0,255]
    3、如果图像是32位浮点型,像素值则要乘以255.也就是说,该值得范围是[0,1]映射到[0,255]

创建窗口:namedWindow函数
namedWindow函数原型如下:
void namedWindow(const string& winname,int flags=WINDOW_AYTOSIZE);
第一个参数:const string&类型的name,填写被用作窗口的标识符的窗口名称。
第二个参数:int类型的flags,窗口的标识,可以填如下几种值
WINDOW_NORMAL,设置这个值,用户可以改变窗口的大小(没有限制)
WINDOW_AUTOSIZE,设置这个值,窗口大小会自动调整以适应所显示的图像,并且用户不能改变窗口大小
WINDOW_OPENGL,设置这个值,窗口创建的时候会支持OpenGl

取消窗口的命令:destroyWindow()或者destoryALLWindows()函数来关闭窗口,并取消之前分配的与窗口相关的所有内存空间

注意:namedWindow函数默认值为WINDOW_AUTOSIZE

猜你喜欢

转载自blog.csdn.net/qq_31935691/article/details/71699477