【OpenCvSharp学习一:图片相似度比较】

news/2024/11/9 2:11:25/

搬运自自己的jianshu博客

在这里插入图片描述
原理就是把两个图片转化为大小相同的灰度图,然后相减,再和原图比较一下
算法有不足,但是基本满足需求,希望能抛砖引玉

    float Similar(ref Mat src, ref Mat src2){Mat gray1 = new Mat(src.Size(), src.Type()),gray2 = new Mat(src2.Size(), src2.Type());Cv2.CvtColor(src, gray1, ColorConversionCodes.BGR2GRAY);Cv2.CvtColor(src2, gray2, ColorConversionCodes.BGR2GRAY);var size = new Size(512, 512);using (var scaledImg1 = gray1.Resize(size))using (var scaledImg2 = gray2.Resize(size)){Cv2.Threshold(scaledImg1, scaledImg1, 128, 255, ThresholdTypes.BinaryInv);Cv2.Threshold(scaledImg2, scaledImg2, 128, 255, ThresholdTypes.BinaryInv);Mat res = new Mat(size, scaledImg1.Type());Cv2.Absdiff(scaledImg1, scaledImg2, res);//Cv2.ImShow("aa", scaledImg1);var all = (float)scaledImg1.Sum();var result = (float)res.Sum();print("result:" + (1 - result / all));return (1 - result / all);}}

结果相似度:
在这里插入图片描述
值越高越相似

依赖64bit DLL下载
链接: https://pan.baidu.com/s/1kevh5UCqJGulphOL4cfkRQ?pwd=te8s 提取码: te8s
PS:里面的OpenCV相关的dll可以到官方Github下载替换为最新版,其他依赖dll不推荐替换,这几个dll都是可以在Unity正常运行不报错的!


http://www.ppmy.cn/news/357414.html

相关文章

Unity 图片滑动

Unity Scroll View图片滑动 前言 在多媒体行业中,会有许多关于播放图片的软件诞生,切换图片有比较多的方式,下面介绍比较常用的两种,一个是只切换Image的图片精灵Sprite,一个是带有滑动过程的Scroll View切换&#x…

如何使用js实现两张图片的相似度比较

最近换季容易感冒,小伙伴们及各位大佬一定要注意身体,每年的这个时候都要渡一次劫。 进博会马上就要来临,最近公司在做一个关于进博会的活动。我是不负责这个项目的。但是看到我们给甲方的稿子甲方老是不满意,老是让修改&#xff…

微信小程序 - 完美解决 rich-text 富文本解析图片无法自适应宽高问题,图片超出屏幕宽度且不受控(详细示例源码,简单快速无需任何第三方插件)

前言 本文将提供一个函数,帮助您解决图片无法适应的问题,另外函数中还提供了一些常见的样式处理。 使用官方 <rich-text> 组件或第三方插件解析富文本时,当内容包含图片时显示的结果就会超出父容器宽度, 会导致出现横向滚动条与图片变形,如下图所示对比情况。 解决…

python读取、显示、保存图片的几种方法

目录 读取图像使用opencv读取使用PIL包读取 保存图片显示图片代码总结 读取图像 读取图像我一般采用的有两种方法&#xff0c;如果想要读成numpy数组格式就用opencv方式&#xff0c;想要读成Image对象格式就用PIL包读取。 使用opencv读取 如果是读取灰度图&#xff0c;需要指…

Latex中插入图片

1、Latex的插图 在Latex中使用插图一般有两种方式&#xff0c;一种是插入事先准备好的图片&#xff0c;另一种是使用Latex代码直接在文档中画图。我们一般常见的使用都是第一种&#xff0c;准备好图片&#xff0c;然后直接插入在我们文档当中。只有一些特殊情况需要用大量代码…

前端|加载的图片太多五种优化方法

摘要 web性能的终极目标是减少资源到客户端的延迟,但是我们在HTTP1.0/HTTP1.1协议中经常会遇到加载的图片太多或者太大导致页面加载完成慢的问题:图片太多导致向服务器请求的次数太多,图片太大导致每次请求的时间过长. 本篇将针对图片太多或者太大总结几种优化方案. 一.当图片…

安卓图片适配

接着上一篇安卓适配详解之后&#xff0c;本篇文章介绍一下图片的适配&#xff0c;大致分为两个部分&#xff1a; deawable 文件适配.9图片的使用 drawable 首先根据设备的dpi建立相应的文件夹&#xff0c;放置不同大小的图片&#xff0c;如下图&#xff1a; 这里可以看出…

vue导入及使用本地图片

MSite.vue导入本地图片 图片所在位置&#xff1a; 1.直接使用 <template><img src"./image/1.jpg"/> </tempalte>2.data里使用require <template><img :src"imgUrl"> </template> <script> export default …