**如下:
#匯入cv模組
'''h:0-180 s:0-255 v:0-255
'''import cv2 as cv
import numpy as np
def extrace_object_demo():
capture=cv.videocapture("f:/projects/images/video_demo.wmv")
while(true):
ret,frame=capture.read()
if ret==false:
break
hsv = cv.cvtcolor(frame, cv.color_bgr2hsv) # rgb轉換為hsv
lower_hsv=np.array([100,43,46])
upper_hsv=np.array([124,255,255])
mask=cv.inrange(hsv,lowerb=lower_hsv,upperb=upper_hsv)
cv.imshow("video",frame)
cv.imshow("mask", mask)
c=cv.waitkey(40)
if c==27: #27相當於exit
break
def color_space_demo(image):
gray=cv.cvtcolor(image,cv.color_bgr2gray)#rgb轉換為gray
cv.imshow("gray",gray)
hsv=cv.cvtcolor(image,cv.color_bgr2hsv)#rgb轉換為hsv
cv.imshow("hsv",hsv)
yuv=cv.cvtcolor(image,cv.color_bgr2yuv)#rgb轉換為yuv
cv.imshow("hsv",yuv)
ycrcb=cv.cvtcolor(image,cv.color_rgb2ycrcb)#rgb轉換為ycrcb
cv.imshow("ycrcb",ycrcb)
# 讀取影象,支援 bmp、jpg、png、tiff 等常用格式
#建立視窗並顯示影象
cv.namedwindow("input image",cv.window_autosize)
cv.imshow("input image",src) #顯示原圖
#color_space_demo(src) #改變後的
#extrace_object_demo()
b,g,r=cv.split(src) #通道分離
cv.imshow("blue",b)
cv.imshow("green",g)
cv.imshow("red",r)
src[:,:,2]=0 #最後乙個通道改為0
cv.imshow("channel images",src)
src[:,:,2]=0
src=cv.merge([b,g,r]) #聚集起來
cv.imshow("merge image",src)
cv.waitkey(0)
#釋放視窗
cv.destroyallwindows()
print("hi,python!")
hsv色彩空間說明:
h:0-180 s: 0-255 v: 0-255
可以通過下表對應顏色的數值過濾其他顏色
hsv顏色對應rgb的分量範圍:
通道分離、合併,修改某一通道
涉及函式:
split() 將彩色影象分割成3個通道
merge()通道合併
7 色彩空間轉換
常見的色彩空間 色彩空間轉換 import cv2 as cv def color space demo img gray cv.cvtcolor img,cv.color bgr2gray cv.imshow gray gray hsv cv.cvtcolor img,cv.color bgr2h...
OpenCV 04色彩空間
色彩空間 它的用途是在某些標準下用通常可接受的方式對彩色加以說明。本質上,彩色模型是座標系統和子空間的闡述。位於系統的每種顏色都有單個點表示。關於hsv的問題 在hsv中,h實際取值範圍是從0到360的,但是在opencv中h的取值範圍是從0到180 原因 因為v和s都是0到255,當我們用uint...
opencv自學筆記 02 色彩空間
rgb轉化灰度圖,hsv,動態捕獲特定顏色的物體 import cv2 as cv import numpy as np 顏色空間 def color space demo image gray cv.cvtcolor image,cv.color bgr2gray yuv cv.cvtcolor ...