zoukankan      html  css  js  c++  java
  • Python+OpenCV图像处理(二)——打印图片属性、设置图片存储路径、电脑摄像头的调取和显示

    一. 打印图片属性、设置图片存储路径

    代码如下:

    #打印图片的属性、保存图片位置
    import cv2 as cv
    import numpy as np     #numpy是一个开源的Python科学计算库
    def get_image_info(image):
        print(type(image))   #type() 函数如果只有第一个参数则返回对象的类型   在这里函数显示图片类型为 numpy类型的数组
        print(image.shape)
        #图像矩阵的shape属性表示图像的大小,shape会返回tuple元组,
        # 第一个元素表示矩阵行数,第二个元组表示矩阵列数,第三个元素是3,表示像素值由光的三原色组成
        print(image.size)  #返回图像的大小,size的具体值为shape三个元素的乘积
        print(image.dtype) #数组元素的类型通过dtype属性获得
        pixel_data=np.array(image)
        print(pixel_data) # 打印图片矩阵     N维数组对象即矩阵对象
    src=cv.imread('E:imageloadexample.png')
    cv.namedWindow('input_image', cv.WINDOW_AUTOSIZE)
    cv.imshow('input_image', src)
    get_image_info(src)
    cv.imwrite("E:/example.png",src)       #图片存储路径
    # gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY)   #使图片颜色变为灰度
    # cv.imwrite("E:/example.png",gray)
    cv.waitKey(0)
    cv.destroyAllWindows()

    二.电脑摄像头的调取和显示

    代码如下:

    #电脑摄像头的调取和显示
    import cv2 as cv
    def video_demo():
        capture=cv.VideoCapture(0)
        #参数为视频设备的id ,如果只有一个摄像头可以填0,表示打开默认的摄像头     这里的参数也可以是视频文件名路径,只要把视频文件的具体路径写进去就好
        while True:  #只要没跳出循环,则会循环播放每一帧 ,waitKey(10)表示间隔10ms
            ret, frame = capture.read()
            #read函数读取视频(摄像头)的某帧,它能返回两个参数. 第一个参数是bool型的ret,其值为True或False,代表有没有读到图片. 第二个参数是frame,是当前截取一帧的图片
            frame=cv.flip(frame,1)
            #翻转  0:沿X轴翻转(垂直翻转)   大于0:沿Y轴翻转(水平翻转)   小于0:先沿X轴翻转,再沿Y轴翻转,等价于旋转180°
            cv.imshow("video",frame)
            pc=cv.waitKey(10)   #超过10ms, waitKey函数会返回-1,如果10ms内在键盘按了某个按键,则 waitKey函数会返回对应按键的ASCII码值,ASCII码值一定大于0
            if pc>0:
                break
            # if cv.waitKey(10) == ord('z'):  # 键盘输入z退出窗口,不按z点击关闭会一直关不掉 也可以设置成其他键。 ord()函数返回对应字符的ASCII数值
            #     break
    video_demo()
    cv.destroyAllWindows()
  • 相关阅读:
    授权中的with admin option和with grant option
    CentOS6.2(64bit)下mysql5.6.16主从同步配置
    linux zip命令
    从模版中找到控件的方法和找到样式的方法
    WPF 在事件中绑定命令(不可以在模版中绑定命令)
    WPF: ShowDialog() 切换到其他应用窗口后,再切换回来无法让子窗口总在最上方
    TreeViewItem实现整行选中 (两种用法)
    BitmapImage 读取内存流和显示图片
    IsKeyboardFocused -- 键盘焦点
    WPF中的imagesource 和内存图片的处理
  • 原文地址:https://www.cnblogs.com/FHC1994/p/8994728.html
Copyright © 2011-2022 走看看