从大图中截取小图
图片二值化,判断是否白底黑字,不是反转颜色
from PIL import Image, ImageOps
# 从大图中截取小图
def jietu(path, frame):
img = Image.open(path)
cropped = img.crop(frame)
cropped.save("xiaotu.png")
heibaitu(cropped)
# 图片二值化,判断是否白底黑字,不是反转颜色
def heibaitu(img):
Img = img.convert('L')
threshold = 100
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
image = Img.point(table, '1')
image.getcolors()
rgb_start = image.getcolors()[0]
rgb_end = image.getcolors()[-1]
rgb_start_color, rgb_end_color = rgb_start[1], rgb_end[1]
rgb_start_int, rgb_end_int = rgb_start[0], rgb_end[0]
#
if rgb_start_int > rgb_end_int:
if rgb_start_color == 0 or rgb_start_color == (0, 0, 0):
image = ImageOps.invert(image.convert('RGB'))
image.save("heibai.png")
if __name__ == '__main__':
jietu('test.jpg', (2825.98, 404.97, 3451.89, 1038.38))
打开三张图:
再将白底透明。