在我之前的公司里
可以看见园区内有面照片墙
左边是黑白的
右边还是黑白的
而我
小小的脑袋
充满了大大的好奇
彩色图片怎么变黑白?
PS?
美图秀秀?
其他APP?
人类的方法不尽相同
而我
只觉得他们吵闹
作为发际线日渐凋零的菜鸟程序员
坚持能用代码解决的事情
坚决不用现成工具简单处理
这是最后的倔强
思路:
利用Python库 PIL 处理图片二值化。img.convert('L'),模式L”为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。
1、创建目录图。pictures存放需要进行黑白化处理的图片,pictures_handle存放黑白化处理之后的图片。
2、目录pictures中放入需要进行黑白化处理的图片
3、为了不用每次执行程序的时候都要手动清空目录 pictures_handle,我们编写脚本进行清空
PICTURE_HANDLE_DIR = "C:/Users/zorrolzhang/Desktop/zzz/pictures_handle/"
def clear_out_path() :
path = PICTURE_HANDLE_DIR
for file in os.listdir(path) :
file_data = path + '\\' + file
if os.path.isfile(file_data) :
os.remove(file_data)
4、全部脚本详情:
欢迎关注我的个人微信公众号【头发头发等等我】
# -*- encoding:utf-8 -*-
import os
import PIL.Image as Image
PICTURE_DIR = "C:/Users/zorrolzhang/Desktop/zzz/pictures/"
PICTURE_HANDLE_DIR = "C:/Users/zorrolzhang/Desktop/zzz/pictures_handle/"
def get_inpictures() :
all_pictures = []
g = os.walk(PICTURE_DIR)
for _, _, filelist in g :
for filename in filelist :
if filename.endswith('jpg') or filename.endswith('png') or \
filename.endswith('jpeg') :
all_pictures.append(filename)
return all_pictures
def clear_out_path() :
path = PICTURE_HANDLE_DIR
for file in os.listdir(path) :
file_data = path + '\\' + file
if os.path.isfile(file_data) :
os.remove(file_data)
def handle(all_pictures) :
for pic in all_pictures :
img = Image.open(PICTURE_DIR + pic)
img = img.convert('L')
img.save(PICTURE_HANDLE_DIR + pic)
def main() :
clear_out_path()
all_pictures = get_inpictures()
handle(all_pictures)
print("success!!!")
main()
5、执行结果