怎么判断两张图片是否完全相同,通过读取图片内容进行对比

技术文摘
0 848
xukai
凯特云(xukai) 5 2021/1/19 18:44:59
编辑此贴 收藏

描述:-


ep1:

ep2:

实现原理:

        通过读取图片,把图片转为base64后进行对比即可达到目的。

以下是图片转base64的方法:

public string GetBase64StringByImage(Image img)
        {
            string base64buffer = string.Empty;

            try
            {
                if (img != null)
                {
                    byte[] bytes = PhotoImageInsert(img);
                    base64buffer = Convert.ToBase64String(bytes);
                }
            }
            catch (Exception ex)
            { }
            return base64buffer;
        }

        //将Image转换成流数据,并保存为byte[] 
        public byte[] PhotoImageInsert(Image imgPhoto)
        {
            MemoryStream mstream = new MemoryStream();
            imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp);
            byte[] byData = new Byte[mstream.Length];
            mstream.Position = 0;
            mstream.Read(byData, 0, byData.Length); mstream.Close();
            return byData;
        }

调用方法:

if (pictureBox1.Image == null || pictureBox2.Image == null)
            {
                MessageBox.Show("请先选择两张图片!");
                return;
            }
            string str1 = GetBase64StringByImage(pictureBox1.Image),
            str2 = GetBase64StringByImage(pictureBox2.Image);
            MessageBox.Show(str1 == str2 ? "图片完全相同!" : "图片不相同");


个人签名:己所不欲勿施于人

回帖
  • 消灭零回复
本周热议
html+css+jquery 实现超帅留言墙效果!超帅,不喜勿喷!附完整demo 72
c# winform 身份证信息读取 14
和客服之间的神沟通 4
c#如何集成控制Led屏,实现数据发送自动开机、关机等操作! 3
关于站点启用HTTPS访问的通知 1
非法访问资源ip地址公布 1
不用写一句sql的ORM框架,支持多种数据库 1
c#如何获取电脑mac地址,超简单! 0
批量检测指定ip某些端口是否开启,用来做什么自己想吧!!! 0
c# 实现文件下载功能,带下载进度条,可用到软件的自动更新中 0
热门资讯
【每日一习话】把事业放在心上 把责任扛在肩上 696 
联播+ | 谋定而动 习近平引领京津冀携手下好“一盘棋” 565 
强力堆料,几乎没有短板、铭瑄iCraft B550M电竞之心主板评测 488 
第一观察 | 从两会“如期”召开看百年大党的执政能力 485 
看图猜成语:明明很简单,是不是大意了 483 
玖月奇迹王小玮近照曝光!穿紧身裤秀出小鸟腿,皮肤白到发光 478 
美媒承认搞错了,但已经来不及了 470 
《奇葩说》第七季总决赛,肖骁用不是自己风格的夺冠后,获得表扬 464 
广东一男子离职索赔270万,公司:你月薪才25万 459 
成人体验馆被封,客人一天点3个娃娃:男人的孤独,谁能懂? 451 
王霜首次回应结束留洋原因:不因贾秀全 只因这3个字 450 
被开除,程序员将公司告上法庭,公司怒怼:代码你写的,你担责 446 
美日共同发表"对中国措辞最强硬"声明 外交部撂重话 440 
扒女明星每日穿搭,千元Coach这样搭,千元CHANEL这样买! 438 
“波塞冬”无法拦截?俄军事专家:只能在发射前攻击它的母艇 418