open cv2學習(三) 色彩空間

2021-10-02 13:33:27 字數 2520 閱讀 3928

在色彩學中,人們建立了多種色彩模型,以一維、二維、三維甚至四維空間座標來表示

某一色彩,這種座標系統所能定義的色彩範圍即色彩空間

rgb(red, green, blue)【r g b 取值範圍都為0~255】

hsv(hue, saturation, value)【h:0~180 s:0~255 v:0~255】

hsv顏色空間可以用乙個圓錐空間模型來描述。圓錐的頂點處,v=0,h和s無定義,代表黑色。圓錐的頂面中心處v=max,s=0,h無定義,代表白色。

hsv即色相(hue)、飽和度(saturation)、明度(value),又稱hsb(b即brightness)。

色相(h)是色彩的基本屬性,就是平常說的顏色的名稱,如紅色、黃色等。

飽和度(s)是指色彩的純度,越高色彩越純,低則逐漸變灰,取0-100%的數值。

明度(v),取0-max(計算機中hsv取值範圍和儲存的長度有關)。

hisycrcb

yuvcv2.color_x2y:轉換成什麼格式,其中x,y = rgb, bgr, gray, hsv, ycrcb, xyz, lab, luv, hls

例如:cv2.color_bgr2rgb ------將bgr格式轉換成rgb格式

cv2.color_bgr2gray -------將bgr格式轉換成灰度

lower:指的是影象中低於這個lower的值,影象值變為0

upper:指的是影象中高於這個upper的值,影象值變為0

而在lower~upper之間的值變成255

import numpy as np;

import cv2; #匯入opencv模組

image=cv2.

imread

("/home/zje/pictures/lena.jpeg"

); #讀取要處理的

b,g,r = cv2.

split

(image)

; #分離出的b,r,g顏色通道

cv2.

imshow

("red"

,r); #顯示三通道的值都為r值時的

cv2.

imshow

("green"

,g); #顯示三通道的值都為g值時的

cv2.

imshow

("blue"

,b); #顯示三通道的值都為b值時的

cv2.

waitkey(0

); #不讓程式突然結束

程式執後,後得到三張不同深度的灰度圖

原因:當呼叫 imshow(r)時,是把影象的r,g,b三個通道的值都變為r的值,所以影象的顏色三通道值為(r,r,r)同理 imshow(g)和imshow(b)所顯示d影象的顏色通道也依次為(g,g,g)和(b,b,b)。

而 當三個通道d值相同時,則為灰度圖

作用:將某一顏色通道(如r)與零矩陣合併,形成(r,0,0)從而顯示只有某一顏色(如紅色)通道的圖

import numpy as np;

import cv2; #匯入opencv模組

image=cv2.

imread

("/home/zje/pictures/lena.jpeg"

); #讀取要處理的

b,g,r = cv2.

split

(image)

; #分離出的b,r,g顏色通道

eros = np.

zeros

(image.shape[:2

],dtype=

"uint8"

); #建立與image相同大小的零矩陣

cv2.

imshow

("blue"

,cv2.

merge

([b,zeros,zeros]))

; #顯示 (b,0,0)影象

cv2.

imshow

("green"

,cv2.

merge

([zeros,g,zeros]))

; #顯示(0,g,0)影象

cv2.

imshow

("red"

,cv2.

merge

([zeros,zeros,r]))

; #顯示(0,0,r)影象

cv2.

waitkey(0

); #不讓程式突然結束

程式執後,後得到三張不同的圖,藍色、綠色、紅色通道圖

原因:在opencv中影象的第一通道是b,第二通道是g,最後是r,所以是(b,0,0) (0,g,0) (0,0,r)

Opencv開發筆記三 色彩空間轉換

cv cvtcolor 是色彩空間轉換函式,cvtcolor的功能是把影象從乙個彩色空間轉換到另外乙個色彩空間,有三個引數,第乙個引數表示源影象 第二引數表示色彩空間轉換之後的影象 第三個引數表示源和目標色彩空間如 color bgr2hls color bgr2gray,color bgr2hsv...

OpenCV 04色彩空間

色彩空間 它的用途是在某些標準下用通常可接受的方式對彩色加以說明。本質上,彩色模型是座標系統和子空間的闡述。位於系統的每種顏色都有單個點表示。關於hsv的問題 在hsv中,h實際取值範圍是從0到360的,但是在opencv中h的取值範圍是從0到180 原因 因為v和s都是0到255,當我們用uint...

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