zoukankan      html  css  js  c++  java
  • 二 读取图片

    1 import cv2 as cv
    2 img = cv.imread('3.jpg')
    3 cv.namedWindow('3',0)   #o或cv.WINDOW_NORMAL可以改变窗口大小;不写或cv.WINDOW_AUTOSIZE不可改变
    4 cv.imshow('3',img)  #name要与namedwindow相同
    5 cv.waitKey(0)   #0:一直显示;k>0:显示k毫秒
    6 cv.destroyAllWindows()

    imread(图片地址,图片读取方式):读取图片

    第一个参数是图片地址

    第二个参数是图片读取方式:默认正常读取,如果为0 则为灰度图  2时也是灰色的,测试了其他是彩色的。

    cv.NamedWindow( const char* name, int flags ):创建窗口,其实不写这行代码也可以show出来

           第一个参数是窗口名字,设置为中文时.py文件上要加上   # -*- coding=GBK -*-

           如果不加会报错,如果加的是    # -*- coding: utf-8 -*-   虽然不会报错,但会是乱码

           第二个参数是窗口显示方式,为0或cv.WINDOW_NORMAL:可以改变窗口大小;不写或cv.WINDOW_AUTOSIZE则不可改变大小

      第二个参数,int 类型的flags ,窗口的标识,可以填如下的值:

        WINDOW_NORMAL设置了这个值,用户便可以改变窗口的大小(没有限制)

        INDOW_AUTOSIZE如果设置了这个值,窗口大小会自动调整以适应所显示的图像,并且不能手动改变窗口大小.

        WINDOW_OPENGL 如果设置了这个值的话,窗口创建的时候便会支持OpenGL

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

           第一个参数:窗口名称。如果上面有NamedWindow()函数,这个名称要与它一样,不然会出现两个窗口,一个是NamedWindow的空白窗口,一个是imshow的图片窗口。

           第二个参数:要显示的图片。

           如果窗口是用CV_WINDOW_AUTOSIZE(默认值)标志创建的,那么显示图像原始大小。否则,将图像进行缩放以适合窗口。而imshow 函数缩放图像,取决于图像的深度

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

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

           k>0:显示多少毫秒

      waitKey(int delay)这个函数接收一个整型值,如果这个值是零,那么函数不会有返回值,如果delay大于0,那么超过delayms后,如果没有按键,那么会返回-1,如果按键那么会返回键盘值。

       在某些系统中,返回的键盘值可能不是ASCII编码的,所以通过与运算只取字符最后一个字节。

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

    # -*- coding=GBK -*-
    import cv2 as cv
    import numpy as np
     
    #输出图片属性
    def get_image_info(image): #定义一个函数来输出图片的一些属性
        print(type(image)) #显示图片类型 numpy类型的数组
         #图像矩阵的shape属性表示图像的大小,shape会返回tuple元组,第一个元素表示矩阵行数,第二个元组表示矩阵列数,第三个元素是3,表示像素值由光的三原色组成
        print(image.shape)#h,w,c
        print(image.size) #图像大小
        print(image.dtype) #图像类型
        pixel_data = np.array(image)
        print(pixel_data)#图片矩阵
     
     
    src = cv.imread("C://1.jpg")
    cv.namedWindow("", cv.WINDOW_NORMAL)
    cv.imshow("", src)
    get_image_info(src)
    cv.imwrite("D://2.png",src)#图片另存为,不要存到c盘,要权限的
    cv.waitKey(0)
    cv.destroyAllWindows()
  • 相关阅读:
    团队冲刺第四天
    团队冲刺第三天
    团队冲刺第二天
    冲刺(六)
    冲刺(五)
    冲刺(四)
    冲刺(三)
    冲刺(二)
    冲刺(一 )
    第一阶段SCRUM
  • 原文地址:https://www.cnblogs.com/pacino12134/p/9839042.html
Copyright © 2011-2022 走看看