3 色彩空間

2022-08-14 04:06:15 字數 3327 閱讀 4652

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]:

import

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

()

in [2]:

import

cv2as

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-----

(96, 89, 3)

分離後:原圖和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...