'commit'
This commit is contained in:
@@ -24,6 +24,28 @@ def read_image(path):
|
||||
return None
|
||||
|
||||
|
||||
def get_image_content_md5(file_path, top_ratio=0.1, bottom_ratio=0.1):
|
||||
"""
|
||||
计算图片核心内容的 MD5 值(排除状态栏和导航栏)
|
||||
"""
|
||||
img = read_image(file_path)
|
||||
if img is None:
|
||||
return None
|
||||
|
||||
h, w = img.shape[:2]
|
||||
top = int(h * top_ratio)
|
||||
bottom = int(h * (1 - bottom_ratio))
|
||||
|
||||
# 裁剪中间部分
|
||||
content = img[top:bottom, :]
|
||||
|
||||
# 将图片数据转换为字节流计算 MD5
|
||||
success, encoded_img = cv2.imencode(".jpg", content)
|
||||
if success:
|
||||
return hashlib.md5(encoded_img.tobytes()).hexdigest()
|
||||
return hashlib.md5(content.tobytes()).hexdigest()
|
||||
|
||||
|
||||
def save_image(path, img):
|
||||
"""保存图片,支持中文路径及鲁棒性检查"""
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user