まず、いくつかの機能:各パラメータの意味のRET、DST = cv2.threshold(SRC、脱穀、MAXVAL、タイプ)
- SRC:入力して、唯一のシングルチャンネル画像入力、一般的なグレースケール画像
- 脱穀:しきい値
- MAXVAL:画素値が閾値よりも閾値以下を超えると、画素値が決定さ種類に応じて割り当てられます
タイプ |
意味 |
cv2.THRESH_BINARY |
そうでない場合、閾値MAXVAL(最大値)を超える部分、および0を取り |
cv2.THRESH_BINARY_INV |
THRESH_BINARY逆転 |
cv2.THRESH_TRUNC |
しきい値設定した閾値よりも大きいセクション、そうでない場合は変更しません |
cv2.THRESH_TOZERO |
それ以外の場合は0に設定するセクションが変更されないしきい値よりも大きいです |
cv2.THRESH_TOZERO_INV |
THRESH_TOZERO反転 |
- DST:出力図。
- RET:しきい値
ルックによって閾値処理後の画像の効果と処理例のためにそれを使用する方法について、具体的には、以下
img=cv2.imread('cat.jpg')
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret, thresh1 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)
ret, thresh2 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY_INV)
ret, thresh3 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TRUNC)
ret, thresh4 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO)
ret, thresh5 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO_INV)
titles = ['Original Image', 'BINARY', 'BINARY_INV', 'TRUNC', 'TOZERO', 'TOZERO_INV']
images = [img, thresh1, thresh2, thresh3, thresh4, thresh5]
for i in range(6):
plt.subplot(2, 3, i + 1), plt.imshow(images[i], 'gray')
plt.title(titles[i])
plt.xticks([]), plt.yticks([])
plt.show()