Python+OpenCV|2値画像処理

2値画像とは

階調が2つの画像です。
0が黒、1が白の2値です。

python+OpenCV

%matplotlib inline
import matplotlib.pyplot as plt
import cv2
import numpy as np

#グレースケールで読み込む
gray = cv2.imread('haruna_kankore.png', 0)
#画像を2値化
ret, th = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
#画像を保存
cv2.imwrite('binary.png', th)

adap = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 2)
cv2.imwrite("adap.png", adap)
ret, OTSU = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU)
cv2.imwrite("OTSU.png", OTSU)

出力結果

元画像

2値化

adp

OTSU