Python安装好之后,可以在cmd中输入python --version来查看Python的版本信息。对于OpenCV,打开Python的开发环境,输入import cv2,运行没有报错说明一切正常。要查看OpenCV的版本,可以:

  • import cv2
  • print(cv2.__version__) #'4.2.0'
  • 安装完成之后,我们开始最基本的操作
  • 加载图片,显示图片,保存图片
  • OpenCV函数:cv2.imread(), cv2.imshow(), cv2.imwrite()
  • import numpy as np
    img=cv2.imread("timg.jpg",1)          #读取函数,第一个参数图片路径,第二个参数图片类型--1代表彩色图片,2代表灰度图片
    
    cv2.imshow("image",img)               #显示函数 窗口名+图片对象
    key = cv2.waitKey(0)                  #等待函数,参数为等待的时间,单位是毫秒。0为一直等待
    if key==27: #按esc键时,关闭所有窗口
        print(key)
        cv2.destroyAllWindows()           #销毁窗口
    
    img.shape            #图片尺寸900*1440  3为RGB
    
    (900, 1440, 3)
    
    img=cv2.imread("timg.jpg",1)    
    scale_percent = 50  # percent of original size        #缩放比例
    width = int(img.shape[1] * scale_percent / 100)        
    height = int(img.shape[0] * scale_percent / 100)
    dim = (width, height)
    
    img=cv2.resize(img,dim)                #重设窗口大小
    
    cv2.imshow("imag",img)
    key = cv2.waitKey(0)
    if key==27: #按esc键时,关闭所有窗口
        print(key)
        cv2.destroyAllWindows()
    
  • OpenCV函数:cv2.VideoCapture(), cv2.VideoWriter()
  • 要使用摄像头,需要使用cv2.VideoCapture(0)创建VideoCapture对象,参数0指的是摄像头的编号.

    如果你电脑上有两个摄像头的话,访问第2个摄像头就可以传入1,依此类推。

    #url="http://admin:admin@10.181.151.231:8081/"   #网络摄像头
    #capture = cv2.VideoCapture(url)
    capture = cv2.VideoCapture(0)   #0为默认摄像头
    while(True):
        # 获取一帧
        ret, frame = capture.read()
        # 将这帧转换为灰度图
        img=cv2.resize(frame,(1080,540))
        cv2.imshow('frame', img)
        if cv2.waitKey(1) == ord('q'):
            cv2.destroyAllWindows()
            break
    capture.release()                 #释放摄像头
    

    播放本地视频

    跟打开摄像头一样,如果把摄像头的编号换成视频的路径就可以播放本地视频了。回想一下cv2.waitKey(),它的参数表示暂停时间,所以这个值越大,视频播放速度越慢,反之,播放速度越快,通常设置为25或30。

    # 播放本地视频
    capture = cv2.VideoCapture('demo_video.mp4')
    while(capture.isOpened()):
        ret, frame = capture.read()
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)