转自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

图像处理之基础---很好的一个快速比较两副图片是否相同的code 可用于公安鉴别的更多相关文章

  1. 循环输出 一个li里边两个图片循环

    <ul> <li><img src="123454"/><img src="123454"/></li&g ...

  2. 如何基于Winform开发框架或混合框架基础上进行项目的快速开发

    在开发项目的时候,我们为了提高速度和质量,往往不是白手起家,需要基于一定的基础上进行项目的快速开发,这样可以利用整个框架的生态基础模块,以及成熟统一的开发方式,可以极大提高我们开发的效率.本篇随笔就是 ...

  3. PHP很有用的一个函数ignore_user_abort ()

    PHP很有用的一个函数ignore_user_abort () 2013-01-16 14:21:31|  分类: PHP |  标签:php  函数  |举报|字号 订阅     ignore_us ...

  4. 一个快速、高效的Levenshtein算法实现——代码实现

    在网上看到一篇博客讲解Levenshtein的计算,大部分内容都挺好的,只是在一些细节上不够好,看了很长时间才明白.我对其中的算法描述做了一个简单的修改.原文的链接是:一个快速.高效的Levensht ...

  5. SuperSocket基础(二)-----一个完成SocketServer项目

    SuperSocket基础(二)-----一个完成SocketServer项目 由于时间关系未能及时更新,关于SuperSocket,对于初学者而言,一个SuperSock的Server真的不好写.官 ...

  6. stdafx.h、stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编

    sstdafx.h.stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要 ...

  7. 一个快速搜索下载jar包的网站

    在偶然的机会,我一个快速搜索下载jar包的网站.里面涵盖了所有的几乎全世界开源的jar包,感觉这个功能特别适合java.android开发者使用,共享出来給大家悄悄. 百度一下:manyjar,就可以 ...

  8. 分享一个快速设置背景的js 自动获取背景图的长宽

    我来分享一个快速设置背景的js (需要jq支持!) 快速切图铺页面用---就是不需要手动输入背景图的长宽 自动获取背景图的长宽 : <div class="wrap"> ...

  9. 一个快速、完善的Android开发框架整合实践(QuickAndroid)

    https://github.com/alafighting/QuickAndroid QuickAndroid 一个快速.完善的Android开发框架整合实践 QA项目简介 本框架QuickAndr ...

随机推荐

  1. 洛谷P1421 小玉买文具

    这道题其实就是编程最基础的逻辑,没什么好讲的输入,输出就完了,非常简单! code: #include<cstdio> #include<iostream> using nam ...

  2. 小程序之Button组件,函数的调用与简单的逻辑

    我们要实现一个简单的功能,在界面上放置一张图片,设置重新加载按钮,能更新图片. WXML代码: <!--index.wxml--> <view clas="index&qu ...

  3. HTML、CSS 和 JS框架之Bootstrap

    一.Bootstrap简介: Bootstrap 是最受欢迎的 HTML.CSS 和 JS 框架,用于开发响应式布局.移动设备优先的 WEB 项目. 详细参考内容:Bootstrap_v3 二.Boo ...

  4. MySQL 初识

    一.MySQL介绍: MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,M ...

  5. 基本Sql语句汇总

    关于Sql语句的学习,选择的DBMS为SQL Server,Sql语句随着工作中的应用不断补充,不具备系统性,为个人笔记汇总,网上有很多优秀的资源,故不对每一处应用做过多细致的说明,后期会对部分篇幅较 ...

  6. 如何查看Laravel版本号的三种方法

    1.PHP artisan --version 2.vim vendor/laravel/framework/src/Illuminate/Foundation/Application.php 3:可 ...

  7. 方便三菱PLC模块调用的FB功能块分享

    前言: 为方便 三菱 PLC 编程,可以将很多功能做成 FB 功能块的形式进行直接调用,可大大缩短编程时间, 本文所述的 FB功能块均以三菱 GX-Works2 软件为基础平台所写,本人所用版本为 G ...

  8. (转)]PYTHON Tkinter GUI

    import Tkinterroot=Tkinter.Tk()label=Tkinter.Label(root,text='hello ,python')label.pack()      #将LAB ...

  9. laravel groupby分组问题。

    laravel 5.7使用groupBy分组查询时会提示一个错误,但是sql可以执行. 因为:mysql从5.7以后,默认开启了严格模式. 解决方法:将/config/database.php 中:关 ...

  10. 【收藏】下载Chrome商店插件的方法,万恶的gwd

    以下是下载离线插件包的方法: 第一步: 每个Google Chrome扩展都有一个固定的ID,例如https://chrome.google.com/webstore/detail/bfbmjmiod ...