Python-OpenCV顏色空間轉換 | python opencv rgb to hsv
•python教程•發佈:2018-10-04目標1.對影象進行顏色空間轉換,如從BGR到灰度圖,或者從BGR到HSV等。2.建立程式從一副影象中獲取某個特定顏色的物體。0x01.轉換顏色空間常用操作:BGR<->Gray和BGR<->HSV。OpenCV中提供了cv2.cvtColor(input_image,flag),其中flag為轉換型別。BGR<->Gray:cv2.COLOR_BGR2GRAYBGR<->HSV:cv2.COLOR_BGR2HSV例子:importcv2importnumpyasnpimg=cv2.imread(test.jpg,cv2.IMREAD_COLOR)hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)cv2.imshow("img",img)cv2.imshow("hsv",hsv)cv2.waitKey(0)...
• python教程• 發佈:2018-10-04
目標 1. 對影象進行顏色空間轉換,如從BGR到灰度圖,或者從BGR到HSV等。 2. 建立程式從一副影象中獲取某個特定顏色的物體。
0x01.轉換顏色空間常用操作:BGR<->Gray和BGR<->HSV。 OpenCV中提供了cv2.cvtColor(input_image,flag),其中flag為轉換型別。 BGR<->Gray :cv2.COLOR_BGR2GRAY BGR<->HSV:cv2.COLOR_BGR2HSV 例子:
import cv2 import numpy as np img=cv2.imread(test.jpg,cv2.IMREAD_COLOR) hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV) cv2.imshow("img",img) cv2.imshow("hsv",hsv) cv2.waitKey(0) cv2.destroyAllWindows()注意:在OpenCV的HSV格式中,H(色彩/色度)的取值範圍是[0,179],S(飽和度)的取值範圍[0,255],V(亮度)的取值範圍[0,255]。但是不同的軟體使用值可能不同,所以在拿OpenCV的HSV值與其他軟體的HSV值進行對比時,一定要歸一化。
0x02.物體跟蹤在HSV顏色空間中比在BGR空間中更容易表示某一個特定顏色。在下面程式中,提取了是影象中所有綠色的物體,一般要經過幾步:
將影象轉換到HSV空間 設定HSV閾值到綠色範圍獲取綠色物體
例項:
import cv2 import numpy as np img=cv2.imread(test.jpg,cv2.IMREAD_COLOR) hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV) lower_green=np.array([35,43,46]) upper_gre...