OpenCV-Python系列(一)—— 简单入门(读取照片、视频、打开摄像头)

一、【读取照片】

(一)简单读取并显示
import cv2
img = cv2.imread("lz2.png")
print(img.shape)     # 打印照片分辨率
cv2.imshow('photo',img)
cv2.waitKey(0)

灰度图:gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
二值化(黑白图):retval,bit_img = cv2.threshold(gray_img, 127, 255, cv2.THRESH_BINARY)

(二)用Image读取,用cv2显示
import cv2
from PIL import Image
import numpy as np
image_one = Image.open("l2.png")
img_cv2 = cv2.cvtColor(np.asarray(image_one), cv2.COLOR_RGB2BGR)   # 转换格式
cv2.imshow('photo',img_cv2)
cv2.waitKey(0)
(三)保存照片
import cv2
img = cv2.imread("l2.png")
cv2.imwrite('aa.jpg',img)

二、【读取视频】

import cv2

cap = cv2.VideoCapture("video.mp4")   # 打开视频
while cap.isOpened():
    flag, frame = cap.read()    # 读取画面
    if flag is True:
        cv2.imshow('video', frame)    # 显示画面
        cv2.waitKey(20)   # 画面停留时间
        # 关闭窗口退出程序
        if cv2.getWindowProperty('video', cv2.WND_PROP_VISIBLE) < 1:
            break
    else:
        break
# 释放资源
cap.release()
cv2.destroyAllWindows()

三、【打开摄像头】

import cv2
from cv2 import flip

def open_camera():
    cap = cv2.VideoCapture(0)   # 打开摄像头
    cap.set(3, 1280)   # 调整分辨率宽:1280 (要看摄像头本身分辨率来调)
    cap.set(4, 720)    # 调整分辨率高:720
    while True:
        flag, frame = cap.read()  # 捕捉画面,flag是否有画面
        if not flag:
            break
        frame = flip(frame,1)   # 镜像画面
        cv2.imshow('camera', frame)     # 显示画面在窗口
        cv2.waitKey(24)       # 帧停留时间,24毫秒

        # 关闭窗口退出程序
        if cv2.getWindowProperty('camera', cv2.WND_PROP_VISIBLE) < 1:
            break
    cv2.destroyAllWindows()  # 毁掉所有窗口

if __name__ == '__main__':
    open_camera()

你可能感兴趣的:(OpenCV系列,opencv,python,计算机视觉)