介绍一种图像相似度排序算法

        工作生活中,常常拍了很多照片存在计算机中,这些照片有些在同一个角度拍摄,内容很相似,甚至有些采取连拍方式,基本相同。清理这些照片、图像给很多朋友带来困扰。这里,给大家推荐一个图像查同软件。简单介绍一下这个软件查同算法总体思路:
        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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值