end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

opencv.threshold() によるグレースケール画像の二値化

間取り図(画像)にある淡い色を変換(削除)したかったので

#!/usr/local/bin/python
# -*- coding: utf-8 -*-
import cv2
import sys

def main():
    org_file = sys.argv[1]

    # 強制的にグレー画像として読む
    # http://opencv.jp/opencv-2.1/cpp/reading_and_writing_images_and_video.html
    img = cv2.imread(org_file, 0)

    ret, img_new = cv2.threshold(img,
                                 200,               # 閾値
                                 256,               # 画素値の最大値
                                 cv2.THRESH_BINARY) # 2値化type

    cv2.imwrite('org.png', img)
    cv2.imwrite('new.png', img_new)


if __name__ == '__main__':
    main()

↑こう書くと↓こう変換されます

f:id:end0tknr:20171103202830p:plain:w260 f:id:end0tknr:20171103202833p:plain:w260