如何将500PPI指纹TIFF转JPG并保留分辨率信息?
解决JPG文件写入500PPI分辨率信息的方法
方法一:使用Python Pillow库
如果之前的方案失效,大概率是没正确处理EXIF元数据或Pillow版本问题,试试下面的代码:
from PIL import Image # 读取原TIFF指纹图像 with Image.open("fingerprint.tiff") as img: # 获取原图像的分辨率(默认兜底为500PPI) dpi = img.info.get("dpi", (500, 500)) # 保存JPG时指定分辨率并保留EXIF数据 img.save( "fingerprint.jpg", format="JPEG", quality=95, # 根据需求调整画质 dpi=dpi, exif=img.info.get("exif") # 保留原图像的EXIF元数据 )
要是还是不行,先把Pillow更到最新版:pip install --upgrade pillow
方法二:使用ImageMagick命令行
这是更直接的工具,终端执行以下命令即可:
convert fingerprint.tiff -density 500x500 -units PixelsPerInch fingerprint.jpg
如果需要保留更多原图像元数据,加上-preserve参数:
convert fingerprint.tiff -density 500x500 -units PixelsPerInch -preserve fingerprint.jpg
关键说明
JPG的分辨率信息存在EXIF元数据中,生物识别程序正是读取这部分内容。很多工具默认保存JPG时会丢弃EXIF,所以必须明确指定写入dpi参数或保留元数据。
内容的提问来源于stack exchange,提问作者Henrique Costa
相关产品推荐
相关产品推荐

