python opencv学习——用python读取图片视频

import cv2 as cv    #调用cv2(opencv)这个库并定义为cv
import numpy as np  #调用numpy这个库并定义为np


def video_demo():   #自定义一个函数video_demo
    capture = cv.VideoCapture(0)    #打开摄像头用来捕捉视频,0是笔记本自带的摄像头,外接的为1
    while(True):
        ref,frame = capture.read()  #调用摄像头
        frame = cv.flip(frame,1)    #cv.flip()图像翻转
        cv.imshow('1',frame)        #输出图像,第一个为窗口的名字
        c = cv.waitKey(100)         #100s显示图像
        if c == 27:                 #27是ascll值代表esc键
            capture.release()       #关闭
            break


def get_image_info(image):
    print(type(image))
    print(image.size)           #输出image的大小
    print(image.shape)          #输出image的高宽通道数
    print(image.dtype)          #输出image的格式
    pixel_data = np.array(image)
    print(pixel_data)



src = cv.imread("D:\python\picture/timg.jpg")
cv.namedWindow("input image",0)     #为0是可以用鼠标控制窗口大小,为1则不能
cv.imshow("input image",src)        
video_demo()
get_image_info(src)
gray = cv.cvtColor(src,cv.COLOR_BGR2GRAY)   #把src转化为灰度图像
cv.imwrite('D:\python\picture/result.png',gray)     #把gray以png的格式存在...地址下
#下面两行代码是为了让图像一直显示而不是一闪而过
cv.waitKey(0)
cv.destroyAllWindows()

 

中途遇到的错误:

1.摄像头无法打开(可以正常调用摄像头就是没图像)——正常调用说明函数没错代码没错,把摄像头卸载了重新装

2.关闭窗口是按两次esc键

posted @ 2020-05-06 08:33  烤鱼m  阅读(581)  评论(0编辑  收藏  举报