本文介绍如何使用python将图片转换为纯黑白的单通道图片。文中用到的脚本支持彩色、灰度、带alpha通道的输入图片以及SVG矢量图,支持调整输出图片大小以及设置灰度阈值。
最后介绍如何输出SSD1306 OLED显示屏可用的XBM文件,并利用输出的XBM数据在0.96寸的OLED屏幕上显示图标,例如下图中的温度、闹钟及云朵图标通过本脚本生成:
使用方法
通过pip安装依赖包:pip3 install --user pillow argparse numpy cairosvg
从下文拷贝python脚本为tobw.py.
要把非单通道图片(如彩色、灰度或带alpha通道的PNG图片)转换图片 只需指定输入图片路径和输除路径即可:$ python tobw.py -i input.png -o output_bw.jpg
通过-h选项查看其他可选参数:$ python tobw.py -h
usage: tobw.py [-h] -i INPUT_IMAGE -o OUTPUT_IMAGE [-t THRESHOLD] [-r] [-s SIZE] [-p]
optional arguments:
-h, --help show this help message and exit
-i INPUT_IMAGE, --input-image INPUT_IMAGE
Input image
-o OUTPUT_IMAGE, --output-image OUTPUT_IMAGE
output image
-t THRESHOLD, --threshold THRESHOLD
(Optional) Threshold value, a number between 0 and 255
-r, --invert-bw (Optional) Invert black and white
-s SIZE, --size SIZE (Optional) Resize image to the specified size, eg., 16x16
-p, --print (Optional) Print result
-s 缩放图片
使用-s选项设置输出图片的大小,