本次目標是將一副圖像從rgb顏色空間轉換到hsv顏色空間,顏色去除白色背景部分
具體就調用了cv2的兩個函數,一個是rgb轉hsv的函數
具體用法
hsv = cv2.cvtColor(rgb_image, cv2.COLOR_BGR2HSV)
然后利用cv2.inRange函數設閾值,去除背景部分
mask = cv2.inRange(hsv, lower_red, upper_red) #lower20===>0,upper200==>0,
函數很簡單,參數有三個
第一個參數:hsv指的是原圖
第二個參數:lower_red指的是圖像中低於這個lower_red的值,圖像值變為0
第三個參數:upper_red指的是圖像中高於這個upper_red的值,圖像值變為0
而在lower_red~upper_red之間的值變成255
lower_red = np.array([20, 20, 20])
upper_red = np.array([200, 200, 200])
mask = cv2.inRange(hsv, lower_red, upper_red) #lower20===>0,upper200==>0,lower~upper==>255
就是將低於lower_red和高於upper_red的部分分別變成0,lower_red~upper_red之間的值變成255
具體用法如下
hsv = cv2.cvtColor(rgb_image, cv2.COLOR_BGR2HSV)
lower_red = np.array([20, 20, 20])
upper_red = np.array([200, 200, 200])
# mask -> 1 channel
mask = cv2.inRange(hsv, lower_red, upper_red) #lower20===>0,upper200==>0
轉自:
原文鏈接:https://blog.csdn.net/hjxu2016/article/details/77834599