zoukankan      html  css  js  c++  java
  • opencv基础学习详细笔记【1】--读取并显示图片

    opencv基础学习【1】--读取并显示图片

        声明:这里是本人自学opencv时写下来的笔记。同时参考并感谢博主【蛋片鸡】:https://www.cnblogs.com/FHC1994。在他博客基础进行修改加上自己理解补充。目的是为了更好的进步与学习。如有更多学习经验和知识分享,欢迎评论,谢谢。

         同时欢迎大家关注新博主github:https://github.com/Cqy-96   b站:https://space.bilibili.com/301389626【阳ger阳】

    主要的环境是python3+opencv,下面开始第一节的笔记讲解与实现。

    代码:

    1 import cv2 as cv
    2 
    3 src=cv.imread('F:opencv learnp11.jpg')#读取这个路径的图片
    4 cv.namedWindow('Picture', cv.WINDOW_AUTOSIZE) #创建窗口
    5 cv.imshow('Picture_show', src) #显示图片窗口
    6 cv.waitKey(0)#窗口显示时间,单位:毫秒
    7 cv.destroyAllWindows()#删除建立的全部窗口,释放资源

    图片:(思考:为什么有两个窗口且内容不一样?答案:往下看

    注意:如果有中文乱码在代码最上端写上:#-*-coding:utf-8 -*-

    函数及参数详细说明:

    1、cv.imread(const String& filename,int flags)

      const String& filename:该参数表示的是图片的地址 斜杠可以任意("/"、""、"\"、"//")

        在Windows操作系统下,OpenCV的imread函数支持如下类型的图像载入:

          JPEG文件 - *.jpeg, *.jpg, *.jpe

          JPEG 2000文件- *.jp2

          PNG图片 - *.png

          便携文件格式- *.pbm, *.pgm, *.ppm

          Sun rasters光栅文件 - *.sr, *.ras

          TIFF 文件 - *.tiff, *.tif

          Windows位图 - *.bmp,*.dib

      int flags:该参数是图片读取方式:载入标识,它指定一个加载图像的颜色类型。正常情况这个参数都是忽略的。如果调用时忽略就默认三通道彩色图像。(大概理解、正常这个参数用不上

     

          flags >0返回一个3通道的彩色图像。

          flags =0返回灰度图像。

          flags <0返回包含Alpha通道的加载的图像。

      注意的点:正常情况下不载入Alpha通道。如果我们需要载入Alpha通道的话呢,这里就需要取负值。 

    2、cv.NamedWindow( const char* name, int flags ):用于创建一个窗口  (这个代码不写 通过下面一个cv.imshow函数也可以展示图片)

      const string& winname:该参数就是窗口名。

      int flags :这个参数表示的是窗口的类型。有两个值:

        WINDOW_NORMAL:设置了这个值,用户便可以改变窗口的大小;也可以设为0

        WINDOW_AUTOSIZE:如果设置了这个值,窗口大小会自动调整以适应所显示的图像,并且不能手动改变窗口大小;可以忽略不写

    3、cv.imshow(const string& winname, InputArray mat):显示图片窗口

      const string& winname:窗口名(注意:如果写了NamedWindow()函数,这个名称要与它一样,不然会出现两个窗口,一个是NamedWindow的空白窗口,一个是imshow的图片窗口。

      InputArray mat:  要显示的图片

       【篇外知识】imshow 函数详解:

        imshow 函数用于在指定的窗口中显示图像。如果窗口是用CV_WINDOW_AUTOSIZE(默认值)标志创建的,那么显示图像原始大小。

                                 否则,将图像进行缩放以适合窗口。而imshow 函 数缩放图像,取决于图像的深度:

                 如果载入的图像是8位无符号类型(8-bit unsigned),就显示图像本来的样子。

                 如果图像是16位无符号类型(16-bit unsigned)或32位整型(32-bit integer),便用像素值除以256。也就是说,值的范围是[0,255 x 256]映射到[0,255]。

                 如果图像是32位浮点型(32-bit floating-point),像素值便要乘以255。也就是说,该值的范围是[0,1]映射到[0,255]。

    4、waitKey(K) 窗口显示时间,单位:毫秒  

          k=0: (也可以是小于0的数值)一直显示,键盘上按下一个数字键即会消失

             k>0:     显示多少毫秒

    5、destroyAllWindows():删除建立的全部窗口,释放资源

                                                                                                                                                                                                                          【实践是检验真理的唯一标准】

  • 相关阅读:
    docker 部署 禅道系统
    docker 部署 jenkins
    运筹方法
    软件工程基础知识
    操作系统知识
    程序设计语言基础知识
    计算机组成与配置
    oracle触发器
    性能测试监控工具的使用
    数据库设计范式
  • 原文地址:https://www.cnblogs.com/Cqy-96/p/12532005.html
Copyright © 2011-2022 走看看