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
标签:center,width,Python,image,336,height,mm,身份证 From: https://www.cnblogs.com/zdt168/p/18287494