① 怎么找相似图
一:TinEye Reverse Search Engine
Tineye是典型的以图找图搜索引擎,输入本地硬盘上的图片或者输入图片网址,即可自动帮你搜索相似图片,搜索准确度相对来说还比较令人满意。
TinEye是加拿大Idée公司研发的相似图片搜索引擎,TinEye主要用途有:1、发现图片的来源与相关信息;2、研究追踪图片信息在互联网的传播;3、找到高分辨率版本的图片;4、找到有你照片的网页;5、看看这张图片有哪些不同版本。
二:http://shitu..com
网络正式上线了其最新的搜索功能——“识图”(http://shitu..com)。该功能是网络基于相似图片识别技术,让用户通过上传本地图片或者输入图片的URL地址之后,网络再根据图像特征进行分析,进而从互联网中搜索出与此相似的图片资源及信息内容。但需要注意的是,用户上传本地图片时,图片的文件要小于5M,格式可为JPG、JPEG、GIF、PNG、BMP等图片文件。
三:GazoPa has been shut down.
GazoPa搜索图片时,不依据关键词进行检索,而是通过图片自身的某些特征(例如色彩,形状等信 息)来进行搜索。GazoPa搜索方式有四种:
第一种是传统的通过关键词搜索图片,但在传统图片搜索领域GazoPa与google等搜索引擎无法竞争。
第二种是创新的通过图片搜索图片,但在此领域GazoPa无法与TinEye相竞争。TinEye很容易就能搜索出与原图最接近的一些结果,而GazoPa很多时候的搜索结果则完全无法与原图匹配。
第三种是通过手绘图片搜索图片,这种方式其实没太大用处。GazoPa虽然有这样那样的不足之处,但也算是一个很有独创性的搜索引擎。GazoPa目前还处在内测阶段,想要加入测试的可以在官网上留下你的邮箱地址,收到邀请后你就可以测试使用了。
第四种是通过视频缩略图搜索视频,GazoPa仅凭一张视频缩略图就可找到相关视频。只要有截图,就可以找到截图的视频!
四、
http://similar-images.googlelabs.com/
Google实验室的图片搜索:输入一个关键词后,例如“lake”,返回的页面里面点击某个图片的下面的Similar images,运用Google 类似图片搜索功能引擎,即刻为你把类似的图片全部搜索
② 有什么办法可以实现比较两张图片是否内容相同
思路一:
有个简单的方法就是随机取两幅图上的相同坐标的色素用Bitmap.GetPixel()方法。。你可以随机取10000次或者多少。然后对比每次取的像素是否相等。。两个变量来累计。。这样就可以粗略的计算出两个图片是否相似了。
思路二:
循环 for [i , j]
{
读出图片A 一点(像素)的 RGB 数值。
计算出灰度 YA[j][i] = 0.3*R + 0.59*G + 0.11*B
读出图片B 一点(像素)的 RGB 数值。
计算出灰度 YB[j][i] = 0.3*R + 0.59*G + 0.11*B
计算 一点 的 相似系数,
例如 灰度差除以两点平均灰度:
fabs(YA[j][i]-YB[j][i]) / ((YA[j][i]+YB[j][i])/2.0) -- 数值越小越相似
}
有了所有点的相似系数,做统计算,例如,把相似系数分20档,
计算落入各档的像素点的个数--就是概率啦。
画 概率分布图 和 累加 概率分布图。
当然,你可以设 累加 概率等于 几的地方 为 相似度 判据。