Yuan天空
Yuan天空
  • 我的主页
  • 博客随笔
  • 软件作品
    • TK精灵(进程守护)
    • 远程运维助手
    • DicomStoreSCU
    • TKOCR(离线OCR)
    • 更多...
  • 学习资源
  • 网址收藏
  • HTML模板
专注.NET开发技术领域
  1. 主页
  2. 博客
  3. 发布页

OpenCVSharp实现获取两张图片的相似度百分比数值

OpenCVSharp图片相似度相似度对比图片对比
OpenCVSharp 2022-02-08 796
博客正文

帮一位网友解决的一个摄像头不同时间段照片相似度对比问题而写的一个demo例子。
核心代码基于OpenCVSharp开发, 实现原理就是把两个图片转化为大小相同的灰度图,然后相减,再和原图比较一下得出结果差值 感觉效果还可以 底部有提供Demo源码下载地址 需要的可以下载看看

OpenCVSharp实现获取两张图片的相似度百分比数值

取图片相似度的效果图

需引用OpenCVSharp 开源库DLL

OpenCVSharp实现获取两张图片的相似度百分比数值

实现获取图片相似度的核心代码

float Similar(Mat src, Mat src2)
{
     Mat gray1 = new Mat(src.Size(), src.Type()),
     Mat   gray2 = new Mat(src2.Size(), src2.Type());
     Cv2.CvtColor(src, gray1, ColorConversionCodes.BGR2GRAY);
     Cv2.CvtColor(src2, gray2, ColorConversionCodes.BGR2GRAY);
     var size = new OpenCvSharp.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);
         var all = (float)scaledImg1.Sum();
         var result = (float)res.Sum();
         return result;
     }
 }

图片相似度 源码例子下载

# demo下载地址

同类文章
OpenCVsharp实现提取文本区域检测 来提取图片中的文本区域坐标
Loading...
OpenCVsharp实现提取文本区域检测 来提取图片中的文本区域坐标
OpenCVSharp如何实现图片裁剪和图片缩放Bitmap图像
Loading...
OpenCVSharp如何实现图片裁剪和图片缩放Bitmap图像
.NET C#使用OpenCVSharp3实现图片马赛克效果
Loading...
.NET C#使用OpenCVSharp3实现图片马赛克效果
问题反馈/学习建议
1. 文明上网,理性表达,营造舒适的学习氛围
2. 请不要反馈提交与本页主题无关内容
学习资源
.NET csharp医疗胶片患者识别号文字区域检测例子
Loading...
.NET csharp医疗胶片患者识别号文字区域检测例子
C#基于OpenCVSharp实现图片对比相似度百分比源码下载
Loading...
C#基于OpenCVSharp实现图片对比相似度百分比源码下载
标题目录
  • 取图片相似度的效果图
  • 实现获取图片相似度的核心代码
  • 图片相似度 源码例子下载