黑马程序员技术交流社区

标题: 【上海校区】本地识图工具——嗅图狗!(python3.6实现图像... [打印本页]

作者: 不二晨    时间: 2018-10-19 09:34
标题: 【上海校区】本地识图工具——嗅图狗!(python3.6实现图像...
打包的exe

嗅图狗0.9(都说有错误,但是在我的电脑上却正常……):https://pan.baidu.com/s/1BSFGMbyQk1Fqgo4zL5WX4A

图片没打进去的打包exe凑合版(为了大家能先用上):https://pan.baidu.com/s/11Vp0v1V2AqzTQHgpxBiSiQ

同版本CSDN下载链接(设置最低1积分……嫌弃度盘慢的、想支持一下我的可以从这里下载):https://download.csdn.net/download/sinat_27382047/10730726

以后看看能不能找到完美打包的方法,更新出更好的版本……

做成exe,因为不知道怎么打多个文件,而且import越多exe就越大越不实用……于是就重构代码,把10多个.py删繁就简合成了一个.py,然后找怎么把图片打进exe……弄了3天自以为可以了,结果都打不开……于是现在就又回来用基础的打包方法打了一个exe(至少肯定能用TAT……)



这就是界面截图





功能





正文开始

本人热衷于搜集资源(老司机嘿嘿嘿……),常常看到某些贴吧上的图片然后存到电脑上,最后当想找的时候根本找不到QAQ……于是想法诞生于“画个草图就能在文件夹里找到想找到的图” (其实最后实现的并不理想),但是为了这个功能却实现了很多基础的特征搜索(主色调搜索、Dhash特征值……),于是这个软件就诞生了。



在网上找到的已有本地识图工具不是试用收费就是生成一大堆缓存不好用,下面列出我找到的本地识图工具

链图云:【吐槽:识图过程产生大量的缩略图占用空间而且识图缓慢。】
灵动搜图:即GiSeek。【吐槽:很多功能还必须是注册版才可使用。】
yitusoutu/以图搜图:欣思软微制作的一款软件。【吐槽:打开显示“未找到超级狗”???搜了一下超级狗是加密用的,做的不怎么样还特么加密了?】
Visual Similarity Duplicate Image Finder:主要目的是帮助用户在文件夹中查找相同或重复的图片文件。【吐槽:只能是找重复图片】
Picasa3:它能搜索浏览自己的计算机的所有图片,整理照片等等功能。【吐槽,是个好用的图片浏览分类工具……】


其实……界面最开始才是让人烦恼的东西,想用C#试过IronPython(结果只支持py2.7),最后老老实实用python自带的tkinter库了(推荐B站“莫烦python”的视频)……

tkinter界面方面遇到问题写的一些博客:

如何在界面上显示图片,并且自动调整大小: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



识图功能

在网上搜到的理论一大堆,识图算法的代码却零零散散,尤其是找到了算法还得明白人家写的怎么用……有的压根没有算法找,只能自己硬生生想……我下面放出所有我实现的功能有用的链接,给也想做图像相似比对的同学们一些方便(*^_^*)

dhash特征值比对

感谢(这个链接让我实现了第一版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



SIFT特征比对(实现小图找全图)

用上了opencv库内的sift特征函数。

感谢: https://blog.csdn.net/abcjennifer/article/details/7365882

人脸识别(我现在只是:框选人脸,再借助比对算法大致识别,不是特制的算法)

用到了opencv的heer特征

感谢(这个找的久,用起来也难……):https://www.cnblogs.com/panlangen/p/7896448.html





筛选、甄别功能

不用于图像比对的但是很用的到一些功能……

图片查重(文件夹遍历)

根据那些算法就能实现一些批量功能了~

文件夹遍历方法总结:https://blog.csdn.net/sinat_27382047/article/details/80172708

推荐文件夹内相似图片(tensorflow模型读图怎么用)

自己的血泪求源史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

识别文字(Tesseract-OCR)

感谢:https://blog.csdn.net/qiushi_1990/article/details/78041375





总结

发现花了那么长时间(3个月)做完的东西,时间多用于搜索、筛选(找到简单能用易实现的、去除那些看起来很高大上但是自己用不起的理论……看了看自己的“毕设收藏夹”,有130+的收藏……有现成能用的代码的却不超过10个……)也走过徐徐多多的弯路(比如去尝试自己用2个星期时间训练出图片分类模型……)【成品所呈现的……真是冰山一角,有许许多多尝试过的不可行的东西呈现不出……】,还有繁琐的小功能,图片格式转换,使用根本没接触过的东西……,不过本来目标就是从完全不会的python写一个实用的程序(让我高兴的是,貌似真的有人需要这种工具,知乎上还私信我打不开的问题,让我有点欣慰。)
---------------------
【转载】
作者:超自然祈祷
原文:https://blog.csdn.net/sinat_27382047/article/details/83040411



作者: 不二晨    时间: 2018-10-25 10:47

作者: 魔都黑马少年梦    时间: 2018-11-1 16:22





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2