Pythonでグレースケール画像を2値化する
輝度画像を2値化する場合は、OpenCVライブラリのthreshold関数を使用できます。サンプルコードを次に示します:
import cv2
# 读取灰度图像
image = cv2.imread('image.jpg', 0)
# 二值化处理
_, binary_image = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)
# 显示原始图像和二值化后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Binary Image', binary_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
上記のコードでは、まず cv2.imread 関数を使用してグレースケール画像を読み込み、image 変数に格納します。次に、cv2.threshold 関数を使用して画像を二値化します。この関数の引数にある 127 は、閾値を表しており、これより大きいピクセル値を持つピクセルは最大ピクセル値(この場合は 255)に、それ以下のピクセル値を持つピクセルは 0 に設定されます。二値化された画像は binary_image 変数に格納されます。最後に、cv2.imshow 関数を使用して、元画像と二値化画像を表示します。cv2.waitKey と cv2.destroyAllWindows 関数を使用して、ユーザーが任意のキーを押すまで待って、ウィンドウを閉じます。