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