あることで、2値画像を作る必要があった。ここで言う2値画像とは、白黒のbmpファイルで、bit深さが1のものである。
openCVでbmpファイルを2値で保存すると、値が0と255だけになった絵になり見た目はできているが、これだと、後処理で使いにくかった。1と0の2つの値からなる、1bit=1画素のbmpファイルにしたい。
どうも、openCVのsaveではそれはできなさそうだった。pillowライブラリを使うと可能。
import numpy as np
from matplotlib import pyplot as plt
from PIL import Image
w=512;
div4=int( w/4 );
col=np.ones((1300,w),dtype="uint8");
col=col*255;
rows=0;
col_ofs=int(0);
for dot in range(0,512,1):
col_ofs=0;
col[rows ,col_ofs:(col_ofs+dot)]=0;
rows=rows+1;
if rows>=800:
break;
fig=plt.figure();
plt.imshow(col)
col_bw = Image.fromarray(col);
col_bw = col_bw.convert('1');
col_bw.save('test.bmp');
コメントを追加