OpenCV 04色彩空間

2021-09-27 13:14:08 字數 3036 閱讀 9225

色彩空間:它的用途是在某些標準下用通常可接受的方式對彩色加以說明。本質上,彩色模型是座標系統和子空間的闡述。位於系統的每種顏色都有單個點表示。

關於hsv的問題

在hsv中,h實際取值範圍是從0到360的,但是在opencv中h的取值範圍是從0到180

原因:因為v和s都是0到255,當我們用uint8表示的時候,乙個位元組就可以表示,當你用360就會溢位而表示不了,所以為了解決這個問題,就將其歸一化到0到180之間

# -*- coding:utf-8 -*-

import cv2 as cv

# 色彩空間的相互轉換

defcolor_space_demo

(image)

: gray = cv.cvtcolor(image, cv.color_rgb2gray)

cv.imshow(

"gray"

, gray)

hsv = cv.cvtcolor(image, cv.color_rgb2hsv)

cv.imshow(

"hsv"

, hsv)

yuv = cv.cvtcolor(image, cv.color_rgb2yuv)

cv.imshow(

"yuv"

, yuv)

ycrcb = cv.cvtcolor(image, cv.color_rgb2ycrcb)

cv.imshow(

"ycrcb"

, ycrcb)

# 讀取

src = cv.imread(

"d:\python\projects\opencv_toturial\images\example.png"

)# 建立opencv的gui視窗

cv.namedwindow(

"input image"

, cv.window_autosize)

# 將放入指定名字的視窗中顯示出來

cv.imshow(

"input image"

, src)

color_space_demo(src)

# 設定waitkey中的delay為0,程式會等待使用者操作後關閉視窗

cv.waitkey(0)

cv.destroyallwindows(

)

# -*- coding:utf-8 -*-

import cv2 as cv

import numpy as np

defextract_object_demo()

: capture = cv.videocapture(

"d:/vcprojects/images/video_006.mp4"

)# 迴圈讀取每一幀

while

(true):

ret, frame = capture.read(

)# 如果沒有內容直接跳出迴圈

if ret ==

false

:break

# 將每一幀從rgb轉換到hsv色彩空間

hsv = cv.cvtcolor(frame, cv.color_rgb2hsv)

# 定義hsv中綠色的取值範圍

lower_hsv = np.array([35

,43,46

])upper_hsv = np.array([77

,255

,255])

# inrange返回指定顏色範圍的二值影象

mask = cv.inrange(frame, lowerb=lower_hsv, upperb=upper_hsv)

cv.imshow(

"video"

, frame)

c = cv.waitkey(40)

if c ==27:

break

extract_object_demo(

)

# -*- coding:utf-8 -*-

import cv2 as cv

import numpy as np

# 讀取

src = cv.imread(

"d:\python\projects\opencv_toturial\images\lena.png"

)# 建立opencv的gui視窗

cv.namedwindow(

"input image"

, cv.window_autosize)

# 將放入指定名字的視窗中顯示出來

# cv.imshow("input image", src)

# 通道分離

b, g, r = cv.split(src)

cv.imshow(

"blue"

, b)

cv.imshow(

"green"

, g)

cv.imshow(

"red"

, r)

# 通道合併

src = cv.merge(

[b, g, r]

)cv.imshow(

"merged image"

, src)

# 改變通道

src[:,

:,0]

=0cv.imshow(

"changed image"

, src)

# 設定waitkey中的delay為0,程式會等待使用者操作後關閉視窗

cv.waitkey(0)

cv.destroyallwindows(

)

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

3 色彩空間

3.色彩空間 下面的圖的三個點表示的是rgb,當三個通道全是0時是黑色,全是255時是白色。灰度圖 gray cv cvtcolor img,cv color bgr2gray cv imshow gray gray hsv色彩空間轉換 hsv cv.cvtcolor img,cv color bg...

opencv學習(四) 色彩空間轉換

如下 匯入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...