1. 程式人生 > >opcv第二天視訊檔案開啟及色彩分離合並

opcv第二天視訊檔案開啟及色彩分離合並

import cv2 as cv
import numpy as np

def extrace_object_demo():
    capture = cv.VideoCapture("C:/Users/weiqiangwen/Desktop/sest/QQ視訊_2703CD4E8BBCC4F5B071A7A61FA35AB7.mp4")    #在讀取時有可能出現ret=false用播放器開啟一次視訊就好了。應該是轉碼問題
    while(True):
        ret,frame = capture.read()
        print (ret)
        print (frame)
        if ret == False:
            break;
        hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)       ##轉成hsv碼
        lower_hsv = np.array([37, 43, 46])         ##綠色最低值
        upper_hsv = np.array([77, 255, 255])       ##綠色最高值
        mask=cv.inRange(hsv,lowerb=lower_hsv,upperb=upper_hsv)       ##得到二值影象
        cv.imshow("video",frame)
        cv.imshow("masl",mask)
        c = cv.waitKey(40)
        if c ==27:               ##27位退出
            break;

def color_space_demo(image):
    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
    cv.imshow("gray", gray)
    hsv = cv.cvtColor(image, cv.COLOR_BGR2HSV)
    cv.imshow("hsv", hsv)
    yuv = cv.cvtColor(image, cv.COLOR_BGR2YUV)
    cv.imshow("yuv", yuv)
    Ycrcb = cv.cvtColor(image, cv.COLOR_BGR2YCrCb)
    cv.imshow("ycrcb", Ycrcb)


print("--------- Hello Python ---------")
src = cv.imread("C:/Users/weiqiangwen/Desktop/sest/morph02.png")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)

cv.imshow("input image", src)

color_space_demo(src)
b,g,r =cv.split(src)      ##rgb分離
cv.imshow("blue",b)
cv.imshow("green",g)
cv.imshow("red",r)
src= cv.merge([b,g,r])     ##3通道合併
cv.imshow("merg",src)
extrace_object_demo()
cv.waitKey(0)
cv.destroyAllWindows()