图片识别引擎-识图引擎搜集~
图片识别引擎-识图引擎搜集
识图现在搜索结果还是不够理想,有很大的提升空间,下面介绍几个比较专业的图片搜索引擎。
1: https://images.google.com/ http://www.google.com/imghp (旧版:http://similar-images.googlelabs.com)
暂时的替代品:http://54.250.200.50/imghp http://203.208.46.200/imghp
很多人都用过Google 图片搜索功能。你可以用一张图片,搜索互联网上所有与它相似的图片。
你输入网片的网址,或者直接上传图片,Google就会找出与其相似的图片。下面这张图片是美国女演员Alyson Hannigan。
上传后,Google返回如下结果:
这种技术的原理是什么?计算机怎么知道两张图片相似呢?
根据Neal Krawetz博士的解释,原理非常简单易懂。我们可以用一个快速算法,就达到基本的效果。
这里的关键技术叫做"感知哈希算法"(Perceptual hash algorithm),它的作用是对每张图片生成一个"指纹"(fingerprint)字符串,然后比较不同图片的指纹。结果越接近,就说明图片越相似。
下面是一个最简单的实现:
第一步,缩小尺寸。
将图片缩小到8x8的尺寸,总共64个像素。这一步的作用是去除图片的细节,只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异。
第二步,简化色彩。
将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。
第三步,计算平均值。
计算所有64个像素的灰度平均值。
第四步,比较像素的灰度。
将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。
第五步,计算哈希值。
将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序就行了。
得到指纹以后,就可以对比不同的图片,看看64位中有多少位是不一样的。在理论上,这等同于计算"汉明距离"(Hamming distance)。如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。
具体的代码实现,可以参见Wote用python语言写的imgHash.py。代码很短,只有53行。使用的时候,第一个参数是基准图片,第二个参数是用来比较的其他图片所在的目录,返回结果是两张图片之间不相同的数据位数量(汉明距离)。
这种算法的优点是简单快速,不受图片大小缩放的影响,缺点是图片的内容不能变更。如果在图片上加几个文字,它就认不出来了。所以,它的最佳用途是根据缩略图,找出原图。
实际应用中,往往采用更强大的pHash算法和SIFT算法,它们能够识别图片的变形。只要变形程度不超过25%,它们就能匹配原图。这些算法虽然更复杂,但是原理与上面的简便算法是一样的,就是先将图片转化成Hash字符串,然后再进行比较。
2: http://tineye.com/ TinEye找图
TinEye是典型的以图找图搜索引擎,输入本地硬盘上的图片或者输入图片网址,即可自动帮你搜索相似图片,搜索准确度相对来说还比较令人满意。
3: http://cn.bing.com/images 微软bing识图
http://cn.bing.com/images/searchbyimage?FORM=IRSBIQ
cbir=sbi
imgurl=::$URL::
4: http://shitu.baidu.com 百度识图
6. http://pic.sogou.com/ris?query=[url] 搜狗识图
图片识别引擎-识图引擎搜集~相关推荐
- 百度识图原理分析 推测其发展方向…
百度识图原理分析 推测其发展方向 2010年12月13日,百度推出相似图片搜索功能-百度识图(shitu.baidu.com),常规的图片搜索,是通过输入关键词的形式搜索到互联网上相关的图片资源,而百 ...
- python 识图点击_Python图片识别——人工智能篇
一.安装pytesseract和PIL PIL全称:Python Imaging Library,python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力. 由于PIL仅支 ...
- python识图 web_Python图片识别——人工智能篇
一.安装pytesseract和PIL PIL全称:Python Imaging Library,python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力. 由于PIL仅支 ...
- 黄色-图片识别引擎的一些心得
黄色-图片识别引擎的一些心得 博客分类: 图像识别.机器学习.数据挖掘 ITeye领域模型 黄色-图片自动识别是一个涉及到图像处理.模式识别.机器学习.统计概率的综合领域,其关键技术包括:皮肤检测.人 ...
- android矢量地图引擎,GitHub - UbiroutingDevelop/UbiMap-Android-Demo: 使用识途UbiMap矢量图引擎显示地图Demo及文档...
UbiMap Demo UbiMap矢量图引擎是由识途团队研发的矢量地图引擎,可用来显示商场.博物馆.景区等特定场所的精细地图. 特点: 操作流畅.体验良好: 轻量级的SDK: 轻量级的矢量地图:一般 ...
- python识图找图_利用python进行识别相似图片(二)
前言 和网上各种首先你要有一个女朋友的系列一样,想进行人脸判断,首先要有脸, 只要能靠确定人脸的位置,那么进行两张人脸是否相似的操作便迎刃而解了. 所以本篇文章着重讲述如何利用openCV定位人脸. ...
- python识图打怪_利用python进行识别相似图片(二)
前言 和网上各种首先你要有一个女朋友的系列一样,想进行人脸判断,首先要有脸, 只要能靠确定人脸的位置,那么进行两张人脸是否相似的操作便迎刃而解了. 所以本篇文章着重讲述如何利用openCV定位人脸. ...
- python 识图点击_Python图片识别找坐标(appium通过识别图片点击坐标)
***如果只想了解图片相似度识别,直接看第一步即可 ***如果想了解appium根据图片识别点击坐标,需要看第一.二.三步 背景|在做UI测试时,发现iOS自定义的UI控件,appium识别不到.所以 ...
- python识图打怪_识别×图片、打飞机游戏,Python这些事你都知道吗?
Python是挺神奇的. 可以做很多好玩的事情,今天就带大家看看,Python做的那些神奇好玩的事. 1.Python - Django 搭建简易博客 使用 Django 开发一个简单的博客 Web应 ...
- python 百度识图_python截图+百度ocr(图片识别)+ 百度翻译
python截图+百度ocr(图片识别)+ 百度翻译 一直想用python做一个截图并自动翻译的工具,恰好最近有时间就在网上找了资料,根据资料以及自己的理解做了一个简单的截图翻译工具.整理一下并把代码 ...
最新文章
- C#中的类型~存储~变量
- 关于ECMAScript6 的学习01-ES6 的六种变量声明方式===关于常量const
- Mysql 1030 Got error -1 from storage engine 错误解决
- 十分钟轻松搞懂CSS的五大定位方式!(建议收藏)
- JAVA基础面试题,java高级面试笔试题
- python 解决无法更新pip问题
- 基于GD32F450+USB3300的高速USB传输
- 第四章 SQL语法分类
- 二极管(三):电源防反接
- 对待员工的4个阶段:我如何让员工过好自己的一生?
- java11规范_京东Java编码规范V11.pdf
- CSS实验案例02简单专业介绍网页
- 基于JAVA社区老人健康服务跟踪系统计算机毕业设计源码+数据库+lw文档+系统+部署
- 小学计算机学打字教学教案,小学信息技术《键盘一家》的教学设计
- 硬币面值组合(C++)
- LDA(Linear Discriminant Analysis)的原理详解
- PMP-33项目质量管理
- 0039c语言作业答案2020,中石油华东《程序设计(C语言)》2020年春季学期在线作业【答案】...
- 乐视还有400多位员工?过着没有老板的神仙日子 官方出来回应了...
- 根据经纬度在地图上定位