初学opencv c++学习笔记(一)图像的读取imread()和显示imshow()

本人自学opencv接近一个月,在b站视频,官方文档和csdn反复横跳,在此将我的学习笔记进行总结归纳,欢迎初学者参考我的笔记~也期待大佬的指导~


提示:以下是本篇文章正文内容

一、图像的读取 imread()

函数API:imread()


官方定义: 

Mat imread( const String& filename, int flags = IMREAD_COLOR );

函数参数解释:

1.filename:所读取图片的路径。 

  • 直接右击图片,复制粘贴文件地址,但要注意将 ' \ ' 改成  ' / '   。
  • 路径错误时,不会报错,会返回一个None值。

2.flags:读取方式的标志。   默认值为以彩色通道加载图片,忽视透明度。

         下面列举三种常用的读取方式的标志:

IMREAD_COLOR           以彩色通道加载图片,忽视透明度

IMREAD_GRAYSCALE   以灰度模式加载图片

IMREAD_UNCHANGED 包括alpha通道进行加载

   以上三种标志分别可用1,0,-1进行代替。

 函数使用:

  • 用Mat类型接收
  • Mat img=imread(“   图像路径    ”)第二个参数不写默认为IMREAD_COLOR 

代码演示:

    Mat img = imread("C:/素材/1.jpg");

这样就能读取以下位置的图片

二、图像的显示 imshow()

函数API:imshow()


官方定义:

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

 参数解释:

1.winname:显示图像的窗口名字。以字符串类型表示,放在  “ ”  中。   

2.mat:要加载的图像对象。   

函数使用:

  • 调用该函数,需要调用waitKey()给图像绘制留下时间,否则窗口无响应。很重要!!!拿小本本记下来!!!
  • 该函数显示出的图像不可改变图像大小,只可输出八位图像。可搭配namedWindow()函数使用。

       (两个函数的具体使用我放在第三标题内供大家食用。)

代码演示

接第一标题内的图片读取,我们把读取的图像显示出来

    Mat img = imread("C:/素材/1.jpg");
    imshow("Image",img);
    waitKey(0);

 

三.与imshow()搭配使用的相关函数

(一)waitKey()

官方定义:

int waitKey(int delay = 0);

参数解释:

 delay:延时值。默认值为0。

一个int类型的值。

为正数(>0)时表示为图片显示的时间,单位为毫秒

否则(<=0)图像一直显示。0为表示一直显示的特殊值,一般用0表示图象一直显示。

 函数使用:

在显示图像后必须使用waitKey()函数

(二)创建窗口namedWindow()

官方定义:

void namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE);

参数解释:

1.winname:窗口名称,为字符串类型,放在 “  ” 中。

2.flags:窗口的标志,int型,每个标识都有一个数字可以代替。默认值为:WINDOW_AUTOSIZE

                  以下列举出窗口的标识:

标识解释   flags
WINDOW_NORMAL 

          用户无约束的改变窗口大小

    也用于将全屏窗口切换为正常大小

0
WINDOW_AUTOSIZE

用户无法调整窗口大小

大小受显示图像的限制

1
WINDOW_OPENGL支持OpenGL的窗口4096
WINDOW_FULLSCREEN将窗口更改为全屏1
WINDOW_FREERATIO图像尽可能多地拓展(无比率约束)256
WINDOW_KEEPRATIO图像比例不变0
WINDOW_GUI_EXPANDED窗口可以添加状态栏和工具栏0
WINDOW_GUI_NORMAL

老式窗口

即没有状态栏和工具栏的图像窗口

16

函数使用

代码演示

    Mat img = imread("C:/素材/1.jpg");
    namedWindow("Image", WINDOW_NORMAL);
    imshow("Image",img);
    waitKey(0);

 

                                                                                                               图像大小可以随意改变 

总结

 本章介绍了opencv读取(imread)和显示(imshow)图片的两个基础函数的参数释义和代码参考,以及相关函数。初学者一定要自己敲敲代码感受一下噢

欢迎大家在评论区进行指导和交流鸭!!!!(第一次发博客 不足之处希望大家告知)

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值