OpenCVで2値化すると、8bit深度データのまま(0/255)で保存される。1bit深度で保存するにはPILを使うしかないようだ。
白(255)以外のデータはすべて黒(0)とする、これは下記で実現できた(pointの中の構文は実はあまりよくわかってない)
from PIL import Image
import os
fname = "../../Desktop/AB.bmp";
a=Image.open(fname);
b=a.convert("L");
c=b.point(lambda x: 255 if x >= 254 else 0);
sname = os.path.splitext(fname)[0]+"-bit1.bmp";
c.convert("1").save(sname);
読み込み後、最初にグレースケールにしてあげる必要がある
コメントを追加