Skip to content

matresnan/Pixel-Comparison-Tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

图像比较与分析工具

这个Python项目是一个强大的图像处理工具,专为比较同一文件夹内多张PNG图像设计。它能够识别并标记出图像间的像素差异,最终输出一张标记了所有图像共有像素的新图像。以下是该项目的主要功能和特点:

  • 异常处理:自定义异常类ImageNumberErrorImageSizeError分别用于处理图片数量少于2张和图片尺寸不一致的情况,确保程序健壮性。

  • 性能优化:使用ThreadPoolExecutor并发加载和处理图像,极大提高了处理速度,特别是在处理大量图像时。

  • 精确对比:通过compare_pixels函数逐一比较图像像素,找出不同之处,生成差异掩码,进而创建标记了相同像素的图像。

  • 用户友好:提供main函数作为入口点,用户只需指定文件夹路径和是否打开结果文件所在位置的选项,即可轻松使用此工具。

  • 代码质量:采用装饰器timer_decorator来监控关键函数的执行时间,便于性能分析和调试。

  • 兼容性与安全性:利用pathlib.Path进行路径操作,确保跨平台兼容性;同时,通过异常处理增强代码的健壮性和安全性。

该工具适用于需要批量比较图像相似度的场景,如图像质量控制、模式识别研究等。代码结构清晰,注释详尽,易于理解和维护,是图像处理领域的一个实用案例。

使用方法

  1. 确保安装了numpy, Pillow, 和concurrent.futures库。
  2. 将待比较的PNG图像放置在同一个文件夹中。
  3. 调用main函数,传入图像所在的文件夹路径以及是否自动打开结果文件的标志位。
  4. 查看生成的same_pixel.png文件,该文件将突出显示所有图像中的共通像素部分。

注意事项

  • 确保所有图像尺寸一致,否则会触发ImageSizeError
  • 至少需要两张图像才能进行比较,否则会抛出ImageNumberError
  • 输出文件默认保存在输入图像的同一目录下。

通过上述代码,你可以轻松地对大量PNG图像进行像素级的比较和分析,快速定位和可视化图像间的差异区域。

About

像素对比工具

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages