因为之前做完后(当毕业设计做的)为了尽量实用打了个exe,结果好多人反应问题,索性直接把代码、更新exe的链接都写个博客放在这里(这么晚才放出源码就是怕毕设查重……)
全部项目源码git及说明:https://github.com/naturalcaduceus/picSniffer
工程内有:完整功能版、exe版(为了打包不至于上百M)的python源码(见readme),大部分识图算法搜索自网络,用法可以参考(当初做的时候找到源码不会用才是最苦恼的TAT……)
打exe包时遇到的问题: https://blog.csdn.net/sinat_27382047/article/details/81304065#comments
最初的demo:https://blog.csdn.net/sinat_27382047/article/details/80051091#comments
现已单独开贴:https://blog.csdn.net/sinat_27382047/article/details/95879954
本人热衷于搜集资源(老司机嘿嘿嘿……),常常看到某些贴吧上的图片然后存到电脑上,最后当想找的时候根本找不到QAQ……于是想法诞生于“画个草图就能在文件夹里找到想找到的图” (其实最后实现的并不理想),但是为了这个功能却实现了很多基础的特征搜索(主色调搜索、Dhash特征值……),于是这个软件就诞生了。
在网上找到的已有本地识图工具不是试用收费就是生成一大堆缓存不好用,下面列出我找到的本地识图工具
- 链图云:【吐槽:识图过程产生大量的缩略图占用空间而且识图缓慢。】
- 灵动搜图:即GiSeek。【吐槽:很多功能还必须是注册版才可使用。】
- yitusoutu/以图搜图:欣思软微制作的一款软件。【吐槽:打开显示“未找到超级狗”???搜了一下超级狗是加密用的,做的不怎么样还特么加密了?】
- Visual Similarity Duplicate Image Finder:主要目的是帮助用户在文件夹中查找相同或重复的图片文件。【吐槽:只能是找重复图片】
- Picasa3:它能搜索浏览自己的计算机的所有图片,整理照片等等功能。【吐槽,是个好用的图片浏览分类工具……】
其实……界面最开始才是让人烦恼的东西,想用C#试过IronPython(结果只支持py2.7),最后老老实实用python自带的tkinter库了(推荐B站“莫烦python”的视频)……
如何在界面上显示图片,并且自动调整大小:https://blog.csdn.net/sinat_27382047/article/details/80138733
点击按钮改变显示的图片(多坑警告):https://blog.csdn.net/sinat_27382047/article/details/80142325
ttk Treeview控件的各种操作(清空操作是从stackoverflow上才找到的):https://blog.csdn.net/sinat_27382047/article/details/80161637
ttk.Combobox(网上多是qt的currentText()方法【坑】……ttk里没这个函数,于是我找到了ttk的函数手册,然后才解决……):https://blog.csdn.net/sinat_27382047/article/details/80188897
写了界面,调用识图算法不想写到一块一团乱,想出了可以已有调用的模式:https://blog.csdn.net/sinat_27382047/article/details/80214661
在网上搜到的理论一大堆,识图算法的代码却零零散散,尤其是找到了算法还得明白人家写的怎么用……有的压根没有算法找,只能自己硬生生想……我下面放出所有我实现的功能有用的链接,给也想做图像相似比对的同学们一些方便(*^_^*)
感谢(这个链接让我实现了第一版demo!而且他的git也十分棒,好多算法都是借鉴他的):https://segmentfault.com/a/1190000004467183
感谢:https://segmentfault.com/a/1190000004467183
实用简单代码:https://blog.csdn.net/u010196573/article/details/16846173
太复杂了没用到……:https://blog.csdn.net/lhh31/article/details/52015500
用上了opencv库内的sift特征函数。
感谢: opencv-python 提取sift特征并匹配
其他sift算法相关:
SIFT特征提取-应用篇
Sift算子特征点提取、描述及匹配全流程解析
SIFT特征匹配算法介绍——寻找图像特征点的原理
SIFT算法的个人理解
Sift与Surf的区别
SIFT特征详解
用到了opencv的heer特征
感谢(这个找的久,用起来也难……):https://www.cnblogs.com/panlangen/p/7896448.html
不用于图像比对的但是很用的到一些功能……
根据那些算法就能实现一些批量功能了~
文件夹遍历方法总结:https://blog.csdn.net/sinat_27382047/article/details/80172708
自己的血泪求源史T-T: https://blog.csdn.net/sinat_27382047/article/details/80534234
感谢:https://blog.csdn.net/White_Idiot/article/details/78816850
可直接用:https://blog.csdn.net/oxuzhenyi/article/details/55000520
感谢:https://blog.csdn.net/qiushi_1990/article/details/78041375