图像处理之基础---很好的一个快速比较两副图片是否相同的code 可用于公安鉴别
转自Codeproject
http://www.codeproject.com/dotnet/comparingimages.asp
Public Enum CompareResult
ciCompareOk
ciPixelMismatch
ciSizeMismatch
End Enum
Public Shared Function Compare(ByVal bmp1 As Bitmap, ByVal bmp2 As Bitmap) As CompareResult
'首先检查两副图片大小是否完全相等
If Not bmp1.Size.Equals(bmp2.Size) Then
Return CompareResult.ciSizeMismatch
Else
'把每个图片转成一字节数组
Dim ic As New System.Drawing.ImageConverter
Dim btImage1(1) As Byte
btImage1 = CType(ic.ConvertTo(bmp1, btImage1.GetType()), Byte())
Dim btImage2(1) As Byte
btImage2 = CType(ic.ConvertTo(bmp2, btImage2.GetType()), Byte())
Debug.WriteLine(UBound(btImage1))
'计算每个图片的hash值
Dim shaM As New SHA256Managed
Dim hash1 As Byte() = shaM.ComputeHash(btImage1)
Dim hash2 As Byte() = shaM.ComputeHash(btImage2)
'比较hash值
Dim i As Integer
For i = 0 To Math.Min(hash1.Length, hash2.Length) - 1
If hash1(i) <> hash2(i) Then
Return CompareResult.ciPixelMismatch
End If
Next
End If
Return CompareResult.ciCompareOk
End Function
http://blog.csdn.net/laviewpbt/article/details/754653
最新文章
- grunt-笔记
- IOS第四天(3:数组的排序和乱序)
- 多文件上传artDialog+plupload
- 判断对象是不是Vector
- web项目环境搭建(3):搭建Spring+MyBatis
- 简要介绍EF(实体框架)
- 有关JS控制时间的几个小Demo
- Java本地缓存解决方案其一(使用Google的CacheBuilder)
- dedecms后台系统基本参数标题
- Java中获取本地某一个目录下的所有文件和文件夹
- PHP类的自动加载
- Web Worker Best Practices
- Oracle下查看索引的语句
- 【ASP.NET Core快速入门】(七)WebHost的配置、 IHostEnvironment和 IApplicationLifetime介绍、dotnet watch run 和attach到进程调试
- C# 异步通信 网络聊天程序开发 局域网聊天室开发
- 嵌入式linux查看磁盘占用情况df -h
- ASP.NET Core 2 学习笔记(四)依赖注入
- Linux内核设计第六周学习总结 分析Linux内核创建一个新进程的过程
- python2.7中minetypes.py的UnicodeDecodeError
- WPF中ScrollViewer嵌套引发滚动失灵的Bug
热门文章
- bacula快速部署
- 条款27:尽量少做转型动作(Minimize casting)
- hdu 6201 transaction (最短路变形——带负权最长路)
- angularjs自己总结
- xtu summer individual 1 A - An interesting mobile game
- [转]Fedora22添加国内软件源和本地软件源
- 飞扬的小鸟(codevs 3729)
- xth 砍树(codevs 1369)
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第九题:地宫取宝(12&#39;) [ dp ]
- Shell脚本的编写,sed的使用以及一些正则表达式