1. 程式人生 > >python3簡單操作opencv3

python3簡單操作opencv3

環境:

Python版本:3.6.2
opencv版本:opencv-python==3.4.3.18

安裝opencv

pip install opencv-python

對圖片操作

import cv2

# 識別圖片
img = cv2.imread('cup.jpg', flags=cv2.IMREAD_LOAD_GDAL)

# 新增對圖片的處理內容

# 展示的圖片
cv2.imshow('hello', img)

cv2.waitKey(0)
cv2.destroyAllWindows()

其中,flags可以設定為哪些引數:

IMREAD_UNCHANGED:載入源影象,並新增alpha通道. (常用) 
IMREAD_GRAYSCALE:始終將影象轉換為灰度圖再返回(常用選項)   
IMREAD_COLOR:總是轉換影象為3通道(BGR注意順序)的彩×××像(常用選項)     
IMREAD_ANYDEPTH:如果設定了這個,且載入的影象深度為16位/32位,那麼就返回相應深度的影象,否則,   轉換為8位返回(常用) 
IMREAD_ANYCOLOR:如果設定了,那麼就載入任意可能的顏色格式而不進行轉換. (常用)
IMREAD_LOAD_GDAL:If set, use the gdal driver for loading the image.(預設)
IMREAD_REDUCED_GRAYSCALE_2:如果設定了這個,影象總是轉換為單通道灰度圖,且尺寸縮減為1/2  
IMREAD_REDUCED_COLOR_2:影象總是轉換為彩色3通道BGR且尺寸縮減為1/2.    
IMREAD_REDUCED_GRAYSCALE_4:同上,灰度,縮減為1/4     
IMREAD_REDUCED_COLOR_4:同上,彩色,縮減為1/4    
IMREAD_REDUCED_GRAYSCALE_8:同上,灰度,縮減為1/8     
IMREAD_REDUCED_COLOR_8:同上,彩色,縮減為1/8 

參考:上下求索之OpenCV中imread的學習心得


對攝像頭的操作

import cv2

def video_demo():
    # 0是代表攝像頭編號,只有一個的話預設為0
    capture = cv2.VideoCapture(0)

    if capture.isOpened():
        print("攝像頭已經連線")

        while True:
            # ret:是否成功讀取幀,布林值
            # frame:幀本身的值
            ret, frame = capture.read()
            # print("type-frame:", type(frame))  # numpy.ndarray
            # print("shape-frame:", np.shape(frame))  # (480, 640, 3)
            # print("ret: ", ret)  # True
            # 視窗的名稱為"camera",顯示攝像頭中的內容
            cv2.imshow("camera", frame)
            # cv.imshow("camera", frame[10:300, 50:400])  # 擷取攝像頭的攝像範圍
            # 按“Esc”退出
            if cv2.waitKey(30) & 0xff == 27:
                capture.release()
                break
    else:
        print("未檢測到攝像頭")

video_demo()
cv2.waitKey()
cv2.destroyAllWindows()