如何定義閾值以僅檢測圖像中的綠色對象:Opencv 我只是想從自然環境中捕獲的圖像中僅檢測綠色物體。如何定義它?因為在這里我要通過閾值讓我們說'x',通過使用這個x我想只獲得一種顏色的綠色對象(白色)其他必須出現在另一種顏色(黑色)請指導我做這個。提前致謝。
1 回答

慕少森
TA貢獻2019條經驗 獲得超9個贊
更新:
我做了一個HSV
色彩圖。這是more easy and accurate
使用這張地圖找到顏色范圍比以前。
也許我應該改變用途(40, 40,40) ~ (70, 255,255) in hsv
來找到green
。
原始答案:
轉換為
HSV
色彩空間,使用
cv2.inRange(hsv, hsv_lower, hsv_higher)
中獲取綠色面具。
我們使用the range (in hsv)
:(36,0,0) ~ (86,255,255)
為此sunflower
。
源圖片:
蒙面綠色區域:
更多步驟:
核心源代碼:
import cv2import numpy as np## Readimg = cv2.imread("sunflower.jpg")## convert to hsvhsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)## mask of green (36,25,25) ~ (86, 255,255)# mask = cv2.inRange(hsv, (36, 25, 25), (86, 255,255))mask = cv2.inRange(hsv, (36, 25, 25), (70, 255,255))## slice the greenimask = mask>0green = np.zeros_like(img, np.uint8)green[imask] = img[imask]## save cv2.imwrite("green.png", green)
添加回答
舉報
0/150
提交
取消