图片对比 算法性能对比

■环境
Win 7 SP1 (Win 32)
4G Memory
Intel Core i3-3120M 2.5GHz
Python 3.6.0
Pycharm 2017.1.3
PIL 1.1.7
Pillow 3.4.2
Numpy 1.14.2 (cp36)
OpenCV 3.4.1 (cp36)

■图片目录结果
C:.

├─1
│ └─Car
│ BenZ-01.jpg
│ BenZ-02.jpg
│ BenZ-03.jpg
│ BMW-01.jpg
│ BMW-02.jpg
│ BMW-03.jpg
│ BMW-04.jpg
│ BMW-05.jpg
│ BMW-06.JPG
│ BMW-07.jpEg
│ BMW-10.jpg
│ BMW-11.jpg
│ BMW-12.jpg
│ BMW-13.jpg
│ BMW-14.jpg
│ BMW-15.jpg
│ BMW-16.jpg
│ BMW-17.jpg
│ BMW-20.jpg
│ BMW-21.jpg
│ BMW-22.jpg
│ BMW-23.jpg
│ HANMAR-01.jpg
│ HANMAR-02.jpg
│ HOCCAR-01.jpg
│ HOCCAR-02.jpg
│ JAGUAR-01.jpg
│ Mazda-Bugatti-01.jpg
│ Mazda-Bugatti-02.jpg
│ Mazda-RX8-01.jpg
│ Mazda-RX8-02.jpg
│ Nanjing_003

├─Nanjing
│ BMW-06.jpg
│ BMW-07.jpg
│ Nanjing_001.jpg
│ Nanjing_0011.jpeg
│ Nanjing_002.jpg
│ Nanjing_004.jpg
│ Nanjing_005.jpg
│ White-10.jpg

├─Scenery
│ scenery_001.jpg
│ scenery_002.jpg
│ scenery_003.jpg
│ scenery_004.jpg
│ scenery_005.jpg
│ scenery_006.jpg
│ scenery_007.jpg
│ scenery_008.jpg
│ scenery_009.jpg
│ scenery_010.jpg
│ scenery_011.jpg
│ scenery_012.jpg
│ scenery_013.jpg
│ scenery_014.jpg
│ scenery_015.jpg
│ scenery_016.jpg
│ scenery_017.jpg
│ scenery_018.jpg
│ scenery_019.jpg
│ scenery_020.jpg
│ scenery_021.jpg
│ scenery_022.jpg
│ scenery_023.jpg
│ scenery_024.jpg
│ scenery_025.jpg
│ scenery_026.jpg
│ scenery_027.jpg
│ scenery_028.jpg
│ scenery_029.jpg
│ scenery_030.jpg
│ scenery_031.jpg
│ scenery_032.jpg
│ scenery_033.jpg
│ scenery_034.jpg
│ scenery_035.jpg
│ scenery_036.jpg
│ scenery_037.jpg
│ scenery_038.jpg
│ scenery_039.jpg
│ scenery_040.jpg
│ scenery_041.jpg
│ scenery_042.jpg
│ scenery_043.jpg
│ scenery_044.jpg
│ scenery_045.jpg
│ scenery_046.jpg
│ scenery_047.jpg
│ scenery_048.jpg
│ scenery_049.jpg
│ scenery_050.jpg
│ scenery_051.jpg
│ scenery_052.jpg
│ scenery_053.jpg
│ scenery_054.jpg
│ scenery_055.jpg
│ scenery_056.jpg
│ scenery_057.jpg
│ scenery_058.jpg
│ scenery_059.jpg
│ scenery_060.jpg
│ scenery_061.jpg
│ scenery_062.jpg
│ scenery_063.jpg
│ scenery_064.jpg
│ scenery_065.jpg
│ scenery_066.jpg
│ scenery_067.jpg
│ scenery_068.jpg
│ scenery_069.png
│ scenery_0690.jpg
│ scenery_070.jpg
│ scenery_071.jpeg
│ scenery_072.jpg
│ scenery_073.jpg
│ scenery_074.jpg
│ scenery_075.jpg
│ scenery_076.jpg
│ scenery_077.jpg
│ scenery_078.jpg
│ scenery_079.jpg
│ scenery_080.jpg
│ scenery_081.jpg
│ scenery_082.jpg
│ scenery_083.jpg
│ scenery_084.jpg
│ scenery_085.jpg
│ scenery_086.jpg
│ scenery_087.jpg
│ scenery_088.jpg
│ scenery_089.jpg
│ scenery_090.jpg
│ scenery_091.jpg
│ scenery_092.jpg
│ scenery_093.jpg
│ scenery_094.jpg
│ scenery_095.jpg
│ scenery_096.jpg
│ scenery_097.jpg
│ scenery_098.jpg
│ scenery_099.jpg
│ scenery_100.jpg
│ scenery_101.jpg
│ scenery_102.jpg
│ scenery_103.jpg
│ scenery_104.jpg
│ scenery_105.jpg
│ scenery_106.jpg
│ scenery_107.jpg
│ scenery_108.jpg
│ scenery_109.jpg
│ scenery_110.jpg
│ scenery_111.jpg
│ scenery_112.jpg
│ scenery_113.jpg
│ scenery_114.jpg
│ scenery_115.jpg
│ scenery_116.jpg
│ scenery_117.jpg
│ scenery_118.jpg
│ scenery_119.jpg
│ scenery_120.jpg
│ scenery_121.jpg
│ scenery_122.jpg
│ scenery_123.jpg
│ scenery_124.jpg
│ scenery_125.jpg
│ scenery_126.jpg
│ scenery_127.jpg
│ scenery_128.jpg
│ scenery_129.jpg
│ scenery_130.jpg
│ scenery_131.jpg
│ scenery_132.jpg
│ scenery_133.jpg
│ scenery_134.jpg
│ scenery_135.jpg
│ scenery_136.jpg
│ scenery_137.jpg
│ scenery_138.jpg
│ scenery_139.jpg
│ scenery_140.jpg
│ scenery_141.jpg
│ scenery_142.jpg
│ scenery_143.jpg
│ scenery_144.jpg
│ scenery_145.jpg
│ scenery_146.jpg
│ scenery_147.jpg
│ scenery_148.jpg
│ scenery_149.jpg
│ scenery_150.jpg
│ scenery_151.jpg
│ scenery_152.jpg
│ scenery_153.jpg
│ scenery_154.jpg
│ scenery_155.jpg
│ scenery_156.jpg
│ scenery_157.jpg
│ scenery_158.jpg
│ scenery_159.jpg
│ scenery_160.jpg
│ scenery_161.jpg
│ scenery_162.jpg
│ scenery_163.jpg
│ scenery_164.jpg
│ scenery_165.jpg
│ scenery_166.jpg
│ scenery_167.jpg
│ scenery_168.jpg
│ scenery_169.jpg
│ scenery_170.jpg
│ scenery_171.jpg
│ scenery_172.jpg
│ scenery_173.jpg
│ scenery_174.jpg
│ scenery_175.jpg
│ scenery_176.jpg
│ scenery_177.jpg
│ scenery_178.jpg
│ scenery_179.jpg
│ scenery_180.jpg
│ scenery_181.jpg
│ scenery_182.jpg
│ scenery_183.jpg
│ scenery_184.jpg
│ scenery_185.jpg
│ scenery_186.jpg
│ scenery_187.jpg
│ scenery_188.jpg
│ scenery_189.jpg
│ scenery_190.jpg
│ scenery_191.jpg
│ scenery_192.jpg
│ scenery_193.jpg
│ scenery_194.jpg
│ scenery_195.jpg
│ scenery_196.jpg

├─White
│ 19349072ad479d6b359bf7fe.jpg
│ wallpaper-targaryen-1600.jpg
│ White-01.jpg
│ White-02.jpg
│ White-03.jpg
│ White-04.jpg
│ White-05.jpg
│ White-06.jpg
│ White-07.jpg
│ White-08.jpg
│ White-09.jpg
│ White-10.jpg
│ White-11.jpg
│ White-12.jpg
│ White-13.jpg
│ White-14.jpg
│ White-15.jpg
│ White-16.jpg
│ White-17.jpg
│ White-18.jpg

└─权利的游戏
19349072ad479d6b359bf7fe.jpg
20110325151857264.jpg
7c10bf24638dceab0bd187ae.jpg
7dcf62950af7bf19f31fe75c.jpg
80cc7cd9a79e36a039012fb3.jpg
f45d1cb36f91d67863d09fa1.jpg
HANMAR-01.jpg
Mazda-Bugatti-01.jpg
scenery_011.jpg
wallpaper-arryn-1600.jpg
wallpaper-baratheon-1600.jpg
wallpaper-greyjoy-1600.jpg
wallpaper-lannister-1600.jpg
wallpaper-stark-1600.jpg
wallpaper-targaryen-1600.jpg
wallpaper-tully-1600.jpg
White-13.jpg
White-17.jpg

■相同图片
图片相同:C:/Users/x230/Desktop/test/1/Car/BMW-06.JPG::::::C:/Users/x230/Desktop/test/Nanjing/BMW-06.jpg
图片相同:C:/Users/x230/Desktop/test/1/Car/BMW-07.jpEg::::::C:/Users/x230/Desktop/test/Nanjing/BMW-07.jpg
图片相同:C:/Users/x230/Desktop/test/1/Car/HANMAR-01.jpg::::::C:/Users/x230/Desktop/test/权利的游戏/HANMAR-01.jpg
图片相同:C:/Users/x230/Desktop/test/1/Car/Mazda-Bugatti-01.jpg::::::C:/Users/x230/Desktop/test/权利的游戏/Mazda-Bugatti-01.jpg
图片相同:C:/Users/x230/Desktop/test/Nanjing/White-10.jpg::::::C:/Users/x230/Desktop/test/White/White-10.jpg
图片相同:C:/Users/x230/Desktop/test/Scenery/scenery_011.jpg::::::C:/Users/x230/Desktop/test/权利的游戏/scenery_011.jpg
图片相同:C:/Users/x230/Desktop/test/Scenery/scenery_088.jpg::::::C:/Users/x230/Desktop/test/Scenery/scenery_141.jpg
图片相同:C:/Users/x230/Desktop/test/Scenery/scenery_104.jpg::::::C:/Users/x230/Desktop/test/Scenery/scenery_134.jpg
图片相同:C:/Users/x230/Desktop/test/White/19349072ad479d6b359bf7fe.jpg::::::C:/Users/x230/Desktop/test/权利的游戏/19349072ad479d6b359bf7fe.jpg
图片相同:C:/Users/x230/Desktop/test/White/wallpaper-targaryen-1600.jpg::::::C:/Users/x230/Desktop/test/权利的游戏/wallpaper-targaryen-1600.jpg
图片相同:C:/Users/x230/Desktop/test/White/White-13.jpg::::::C:/Users/x230/Desktop/test/权利的游戏/White-13.jpg
图片相同:C:/Users/x230/Desktop/test/White/White-17.jpg::::::C:/Users/x230/Desktop/test/权利的游戏/White-17.jpg
图片相同:C:/Users/x230/Desktop/test/Scenery/scenery_069.png::::::C:/Users/x230/Desktop/test/Scenery/scenery_0690.jpg -->图片相同,但大小不一样

■性能对比 (单位:s)
算法 Run 1 Run 2 Run 3 Run 4 Run 5 Avg
aHash 35 38 37 37 36 37
pHash 2046 2021 2037 - - 2035
dHash #DIV/0!


原文地址:http://blog.51cto.com/13685327/2094792

时间: 2024-08-05 08:15:58

图片对比 算法性能对比的相关文章

常见的排序算法性能对比

排序法 平均时间 最差情形 稳定度 额外空间 备注 冒泡 O(n2) O(n2) 稳定 O(1) n小时较好 交换 O(n2) O(n2) 不稳定 O(1) n小时较好 选择 O(n2) O(n2) 不稳定 O(1) n小时较好 插入 O(n2) O(n2) 稳定 O(1) 大部分已排序时较好 基数 O(logRB) O(logRB) 稳定 O(n) B是真数(0-9), R是基数(个十百) Shell O(nlogn) O(ns) 1<s<2 不稳定 O(1) s是所选分组 快速 O(nlo

Struts2、SpringMVC、Servlet(Jsp)性能对比 测试

Struts2.SpringMVC.Servlet(Jsp)性能对比 测试 . Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照它. 做为一个程序员,对于各个框架的性能要有一个基本的认知,便于选型时做出正确的决策. 在测试中发现了什么也不要大喊大叫,因为这些都是Java程序员的基础知识. 人人都要了解. ----------------------------------------------------------------------------------

HTTPS,SPDY,HTTP/2性能对比

作者:zhanhailiang 日期:2015-01-24 原文:A Simple Performance Comparison of HTTPS, SPDY and HTTP/2 首先,恭喜Firefox 35成为第一个默认支持HTTP/2协议的浏览器.不过由于HTTP/2协议并未完全确定,所以目前Firefox实际支持的是HTTP/2 Draft 14版本(当然最终的协议确认不会有大的改动).由于Google已经在服务器端同时支持HTTP/2 Draft 14版本和SPDY协议,所以我们可以

HashMap循环遍历方式及其性能对比

主要介绍HashMap的四种循环遍历方式,各种方式的性能测试对比,根据HashMap的源码实现分析性能结果,总结结论.   1. Map的四种遍历方式 下面只是简单介绍各种遍历示例(以HashMap为例),各自优劣会在本文后面进行分析给出结论. (1) for each map.entrySet() Java 1 2 3 4 5 Map<String, String> map = new HashMap<String, String>(); for (Entry<String

2017年的golang、python、php、c++、c、java、Nodejs性能对比(golang python php c++ java Nodejs Performance)

2017年的golang.python.php.c++.c.java.Nodejs性能对比 本人在PHP/C++/Go/Py时,突发奇想,想把最近主流的编程语言性能作个简单的比较, 至于怎么比,还是不得不用神奇的斐波那契算法.可能是比较常用或好玩吧. 好了,talk is cheap, show me your code!  打开Mac,点开Clion开始Coding吧! 1.怎么第一是Go呢,因为我个人最近正在用,感觉很不错 package main import "fmt" fun

javascript 三种数组复制方法的性能对比

javascript 三种数组复制方法的性能对比,对于webkit, 使用concat; 其他浏览器, 使用slice. 一. 三种数组复制方法 1. by slice var arr = [1, 2, 3], copyArr; copyArr = arr.slice(); 2. by concat var arr = [1, 2, 3], copyArr; copyArr = arr.concat(); 3. by loop var arr = [1, 2, 3], copyArr = [];

无锁编程与有锁编程的性能对比与分析

最近维护的一个网络服务器遇到性能问题,于是就对原有的程序进行了较大的框架改动.改动最多的是线程工作模式与数据传递方式,最终的结果是改变锁的使用模式.经过一番改进,基本上可以做到 GMb 网卡全速工作处理.在 性能达标之后,一度在想有没有什么办法使用更加轻量级锁,或者去掉锁的使用,为此搜索一些相关的研究成果,并做了一些实验来验证这些成果,因而就有这篇文章.希望有做类似工作的同行可以有所借鉴.如果有人也有相关的经验,欢迎和我交流. 1 无锁编程概述 本节主要对文献 [1] 进行概括,做一些基础知识的

不同Framework下StringBuilder和String的性能对比,及不同Framework性能比(附Demo)

本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 阅读目录 介绍 环境搭建 测试用例 MSDN说明 我的理解 Demo下载 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 介绍   自己对String和StringBuilder的处理机制略懂,大胆的设想下两者的性能对比会出现什么样的令人意外的

【转】HashMap,ArrayMap,SparseArray源码分析及性能对比

HashMap,ArrayMap,SparseArray源码分析及性能对比 jjlanbupt 关注 2016.06.03 20:19* 字数 2165 阅读 7967评论 13喜欢 43 ArrayMap及SparseArray是android的系统API,是专门为移动设备而定制的.用于在一定情况下取代HashMap而达到节省内存的目的. 一.源码分析(由于篇幅限制,源码分析部分会放在单独的文章中)二.实现原理及数据结构对比 三.性能测试对比四.总结 一.源码分析稍后会在下一篇文章中补充(都写