工作生活中,常常拍了很多照片存在计算机中,这些照片有些在同一个角度拍摄,内容很相似,甚至有些采取连拍方式,基本相同。清理这些照片、图像给很多朋友带来困扰。这里,给大家推荐一个图像查同软件。简单介绍一下这个软件查同算法总体思路:
1、按照用户指定的目录获取其中的所有*.jpg文件,对所有文件进行预处理,得到特定尺寸(界面可指定,默认为128×128)的缩略图。
2、按照用户在界面指定分块数量(默认为8),将缩略图等分为8×8,共64个的子块,对每一块,分别计算像素RGB三通道平均值,并将这3个数值,按照特定算法映射为3个可显示字符。
3、按照用户指定的块排列顺序(通过点击“样式”按钮,依次点击分块单元来指定排列顺序),将上述每个块(如8×8=64)所映射的字符连接成字符串,这样,对一幅图像,则可对RGB三通道每个通道形成一个字符串序列。界面提供图像信息中包括“红色基因”、“绿色基因”、“蓝色基因”,即分别指上述字符串序列。
4、待进度条指示处理完毕后,可分别点击“红色基因”、“绿色基因”、“蓝色基因”的列头,则可将图像分别按照指定的颜色映射字符串进行排序,并按照用户指定分组深度(默认为6,即如果前6个字符相同,则认为是相同图像),用红色标记。
使用上下箭头按钮可逐一浏览图像,排序完成后,使用左右箭头可在做了相同标记的图像中进行快速跳转。
可对手工标记的图像进行删除。
上述算法,实际效果相当不错,相同的图像绝对逃不出算法的“法眼”,差别较小的图像也都乖乖的顺序排列在一起,指定的参数合适时,相似度很高的图像标记也很准确。
使用时,指定了目录后即开始进行预处理,预处理完成后只需指定某列排序,使用左右箭头寻找被红色标记的文件组即可。图像色彩构成不通,RGB三通道表现也略有差异,多用用就清楚了。
软件使用C#编写,源代码公开,下面提供exe和源代码下载,请各取所需。
可执行程序(1分):https://download.youkuaiyun.com/download/codeslave1130/10474258
源代码(3分):https://download.youkuaiyun.com/download/codeslave1130/10501089