使用`cv:inRang‘(OpenCV)選擇正確的上、下HSV邊界進行顏色檢測我有一張咖啡罐的圖片,上面有一個橙色的蓋子,我想找到這個位置。在這里.gcolor 2實用程序顯示位于蓋子中心的HSV為(22,59,100)。問題是如何選擇顏色的界限?我試過min=(18,40,90)和max=(27,255,255),但結(jié)果出乎意料。下面是Python代碼:import cv
in_image = 'kaffee.png'
out_image = 'kaffee_out.png'
out_image_thr = 'kaffee_thr.png'
ORANGE_MIN = cv.Scalar(18, 40, 90)
ORANGE_MAX = cv.Scalar(27, 255, 255)
COLOR_MIN = ORANGE_MIN
COLOR_MAX = ORANGE_MAX
def test1():
frame = cv.LoadImage(in_image)
frameHSV = cv.CreateImage(cv.GetSize(frame), 8, 3)
cv.CvtColor(frame, frameHSV, cv.CV_RGB2HSV)
frame_threshed = cv.CreateImage(cv.GetSize(frameHSV), 8, 1)
cv.InRangeS(frameHSV, COLOR_MIN, COLOR_MAX, frame_threshed)
cv.SaveImage(out_image_thr, frame_threshed)
if __name__ == '__main__':
test1()
使用`cv:inRang‘(OpenCV)選擇正確的上、下HSV邊界進行顏色檢測
catspeake
2019-07-11 20:25:15