import os
import pickle
def compare_results_by_filename(file1, file2, threshold):
with open(file1, 'rb') as f:
results1 = pickle.load(f)
with open(file2, 'rb') as f:
results2 = pickle.load(f)
filenames1 = {os.path.splitext(os.path.basename(path))[0]: counts for path, counts in results1.items()}
filenames2 = {os.path.splitext(os.path.basename(path))[0]: counts for path, counts in results2.items()}
significant_differences = []
for name, counts1 in filenames1.items():
if name in filenames2:
counts2 = filenames2[name]
comparison = [abs(c1 - c2) for c1, c2 in zip(counts1, counts2)]
if any(d > threshold for d in comparison):
significant_differences.append(name)
return significant_differences
def batch_compare_directories(dir1, dir2, threshold):
assert os.path.exists(dir1), f"Directory {dir1} does not exist."
assert os.path.exists(dir2), f"Directory {dir2} does not exist."
files1 = set([f for f in os.listdir(dir1) if f.endswith('.pickle')])
files2 = set([f for f in os.listdir(dir2) if f.endswith('.pickle')])
assert files1, f"No .pickle files found in {dir1}."
assert files2, f"No .pickle files found in {dir2}."
common_files = files1.intersection(files2)
all_diff_images = {}
for filename in common_files:
file1 = os.path.join(dir1, filename)
file2 = os.path.join(dir2, filename)
diff_images = compare_results_by_filename(file1, file2, threshold)
if diff_images:
all_diff_images[filename] = diff_images
return all_diff_images
threshold = 100
diff_images_dict = batch_compare_directories('FOLDER1', 'FOLDER2', threshold)
if diff_images_dict:
print("Images with significant differences in black pixel counts, grouped by pickle file:")
for pickle_file, images in diff_images_dict.items():
print(f"\nIn pickle file '{pickle_file}':")
for img in images:
print(img)
else:
print("No significant differences found.")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具