python-opencvのcv 2.inRange関数


今回の目標は、rgb色空間からhsv色空間に副画像を変換し、色が白い背景部分を除去することです.
具体的にはcv 2の2つの関数が呼び出され、1つはrgbがhsvを回転する関数である.
具体的な使い方
hsv = cv2.cvtColor(rgb_image, cv2.COLOR_BGR2HSV)
は次にcv 2を利用する.InRange関数閾値を設定し、背景部分を除去
  mask = cv2.inRange(hsv, lower_red, upper_red) #lower20===>0,upper200==>0,
関数は簡単です.パラメータは3つあります.
最初のパラメータ:hsvは原図を指します
2番目のパラメータ:lower_redとは、画像の中でこのlowerより低いことを意味します.redの値、画像値が0になります
3番目のパラメータ: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