天宫鹤

Python以中心裁剪图片,一个中国大陆身份证的尺寸是88mm*55mm,通常使用的身份证像素分辨率是336*256

 1 # 以中心裁剪图片
 2 # 一个中国大陆身份证的尺寸是88mm*55mm,通常使用的身份证像素分辨率是336*256
 3 def crop_image_by_center(input_image_path, width_mm=88, height_mm=55):
 4     # 打开图片
 5     image = Image.open(input_image_path)
 6     image = ImageOps.exif_transpose(image)  # 解析图片的 EXIF 中的方位信息,将图片转正
 7 
 8     # 计算新的宽度和高度(像素单位)
 9     width = int(width_mm / inch_to_mm * dpi)
10     height = int(height_mm / inch_to_mm * dpi)
11     # 计算原始图片的中心位置
12     center_x, center_y = (x / 2 for x in image.size)
13     left, upper = center_x - width / 2, center_y - height / 2
14     right, lower = center_x + width / 2, center_y + height / 2
15     image = image.crop(box=(left, upper, right, lower))
16 
17     return image

 

posted on 2024-07-06 17:13  GoGrid  阅读(1)  评论(0编辑  收藏  举报

导航