C# 判断两张图片是否一致的快速方法。
代码:
#region 判断图片是否一致
/// <summary>
/// 判断图片是否一致
/// </summary>
/// <param name="img">图片一</param>
/// <param name="bmp">图片二</param>
/// <returns>是否一致</returns>
public bool IsSameImg(Bitmap img, Bitmap bmp)
{ // www.jbxue.com
//大小一致
if (img.Width == bmp.Width && img.Height == bmp.Height)
{
//将图片一锁定到内存
BitmapData imgData_i = img.LockBits(new Rectangle(0, 0, img.Width, img.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
IntPtr ipr_i = imgData_i.Scan0;
int length_i = imgData_i.Width * imgData_i.Height * 3;
byte[] imgValue_i = new byte[length_i];
Marshal.Copy(ipr_i, imgValue_i, 0, length_i);
img.UnlockBits(imgData_i);
//将图片二锁定到内存
BitmapData imgData_b = img.LockBits(new Rectangle(0, 0, img.Width, img.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
IntPtr ipr_b = imgData_b.Scan0;
int length_b = imgData_b.Width * imgData_b.Height * 3;
byte[] imgValue_b = new byte[length_b];
Marshal.Copy(ipr_b, imgValue_b, 0, length_b);
img.UnlockBits(imgData_b);
//长度不相同
if (length_i != length_b)
{
return false;
}
else
{
//循环判断值
for (int i = 0; i < length_i; i++)
{
//不一致
if (imgValue_i[i] != imgValue_b[i])
{
return false;
}
}
return true;
}
}
else
{
return false;
}
}
#endregion
分享到:
相关推荐
代码如下: #region 判断图片是否一致 /// <summary> /// 判断图片是否一致 /// </summary> /// ”img”>图片一</param> /// ”bmp”>图片二</param> /// 是否一致</returns> public bool IsSameImg(Bitmap img, ...
Unity C#使用pHash算法实现图片相似度计算(判断俩张图片是否相似)。
此资源收集自网络。 算法采用比较两幅图片的byte流是否相同来判断图片是否相同,比较速度较慢,由于没有找到类似的资源,也就将就用了。
C#比较照片的相似度,之前找的一个不好用,现在这个测试了一下还是不错的,有需要可以下载看一下
C#实现的全景图拼接(两张图片合并成一张图片源程序) 这个一个图形学处理中的全景图拼接程序,用的是C#写的,使用vs2005
c# 上传多张图片
Bitmap imgFrst = new Bitmap(pictureBox1.Image); Bitmap imgScnd = new Bitmap(pictureBox2.Image); int height = imgFrst.Height ; int width = imgFrst.Width ; Bitmap fussion=new Bitmap(width,...
C#判断是否为整数,正则表达式判断,简单效率高,比用try更快
C#(VS2017)百度人脸识别demo比较两张照片是否为同一人,需要自己去百度申请相关的API KEY和SECRET KEY
C#WINFROM多张多图片预览和批量上传
c# 判断网络是否连接,判断是否有连接,并获取连接类型,网卡连接,猫连接等
C#如何判断两个文件是否完全相等,文件的内容完全相同
C#判断文件是否被打开,以前自己用的,似乎也是从网上找来的。
C#判断指定的坐标点(经纬度)是否在指定的区域内!地图坐标点判断(经纬度判断)
运用C#写一个简单的循环判断一个数是否为素数
多张图片垂直合并成1张图片,使用VS2013开发
C# 显示比较用datatable比较这个的结果集,然后再分别进行循环的比较,分别对被比较表进行添加,删除,更新 我测试成功我的 QQ552044315
C#winform判断窗体是否打开 更适用于mdi