3.色彩空間
下面的圖的三個點表示的是rgb,當三個通道全是0時是黑色,全是255時是白色。
):#灰度圖
gray=cv
.cvtcolor
(img,cv
.color_bgr2gray)cv
.imshow
("gray"
,gray
)#hsv色彩空間轉換
hsv=cv.
cvtcolor
(img,cv
.color_bgr2hsv)cv
.imshow
("hsv"
,hsv
)#yuv色彩空間轉換
作用:可以過濾指定的顏色,通過指定三個通道的值的範圍
in [5]:
importin [2]:cv2as
cvimport
numpy
asnp
defextrace_object
():capture=cv
.videocapture
("./video.mp4"
)while
true
:ret
,frame
=capture
.read
()if
ret==
false
:break
hsv=cv.
cvtcolor
(frame,cv
.color_bgr2hsv
)lower_hsv=np
.array
([35,43
,46])upper_hsv=np
.array
([77
,255
,255
])mask=cv
.inrange
(hsv
,lowerb
=lower_hsv
,upperb
=upper_hsv
)#顯示cv.
imshow
("video"
,frame
)# cv.waitkey(100)
#顯示篩選後的,被選中的地方是白色,其他的是黑色cv.
imshow
("mask"
,mask)c
=cv.waitkey
(100
)#延時100msifc
==27
:#esc鍵退出
break
extrace_object
()cv
.waitkey(50
)cv.destroyallwindows
()
importcv2as
cvprint
("---hello-----"
)src=cv
.imread
("aaa.png",cv
.window_autosize)x
,y=src
.shape[0
:2]print
(src
.shape)cv
.namedwindow
("input img",0
)cv.imshow
("input img"
,src
)#通道分離b,
g,r=
cv.split
(src
)#放縮b=
cv.resize(b
,(x*3
,y*3
))g=cv
.resize(g
,(x*3
,y*3
))r=cv
.resize(r
,(x*3
,y*3
))cv
.imshow
("blue",b
)cv.imshow
("green",g
)cv.imshow
("red",r
)#通道分離
src[:,:,1]
=0#指定第2個通道全部為0
src=cv.
merge([b
,g,r
])cv
.imshow
("change image"
,src)cv
.waitkey(0
)cv.destroyallwindows
()
---hello-----分離後:原圖和3個通道的圖(96, 89, 3)
合併後:原圖和修改後的圖的區別
色彩空間(一) 色彩空間基礎
相信很多做設計的小夥伴都聽說過 rgb 或者 cmyk 這樣的概念,rgb 和 cmyk 就是兩個典型的色彩空間模式,前者主要用於光學色彩展示 比如我們的電腦顯示屏 而後者主要用於印刷 比如彩色印表機分為cmyk四個墨盒 但是我們今天要說的色彩空間,還不是這種粒度的劃分,而是針對 rgb 的光學色彩...
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...