opencv第二天視頻文件打開及色彩分離合並

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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章