首页 > 其他分享 >9月9日总结

9月9日总结

时间:2023-09-10 11:11:48浏览次数:46  
标签:总结 容器 -- hist Re IOC NET6.0

使用

    /// <summary>

    /// 直方图相关性 

    /// 结果越接近1 则越相似

    /// 图片相似度识别(精度不高,速度较快,可用于以图搜图)

    /// </summary>

    /// <param name="imgFile1"></param>

    /// <param name="imgFile2"></param>

    public double Compare_Hist(string imgFile1, string imgFile2)

    {

        var matA = Cv2.ImRead(imgFile1);

        var matB = Cv2.ImRead(imgFile2);



        // 拆分通道

        Cv2.Split(matA, out Mat[] matA_S);

        Cv2.Split(matB, out Mat[] matB_S);



        //直方图的像素范围   

        Rangef[] histRange = { new Rangef(0, 256) };



        //直方图数组大小

        int[] histSize = { 256 };



        //直方图输出数组

        Mat hist_A = new Mat();

        Mat hist_B = new Mat();



        bool uniform = true, accumulate = false;

        Cv2.CalcHist(matA_S, new int[] { 0, 1, 2 }, null, hist_A, 1, histSize, histRange, uniform, accumulate);

        Cv2.CalcHist(matB_S, new int[] { 0, 1, 2 }, null, hist_B, 1, histSize, histRange, uniform, accumulate);



        //归一化,排除图像分辨率不一致的影响

        Cv2.Normalize(hist_A, hist_A, 0, 1, NormTypes.MinMax, -1, null);

        Cv2.Normalize(hist_B, hist_B, 0, 1, NormTypes.MinMax, -1, null);



        //相关性比较

        var res = Cv2.CompareHist(hist_A, hist_B, HistCompMethods.Correl);

        return res;

    }

比较结果

image

image

可以看出基本符合预期。

注意:由于直方图算法未考虑像素的空间位置,所以当图片旋转后,仍会被认为是同一个图

下面是将图片旋转后的计算结果,可以看到跟没有旋转时的计算结果一样

image

记录完毕~
上一篇C#结合OpenCVSharp4图片相似度识别

本文来自博客园,作者:宣君{https://www.nhit.icu/},转载请注明原文链接:https://www.cnblogs.com/ycit/p/17689380.html
关注我
收藏该文
4
0
posted @ 2023-09-09 13:43 宣君 阅读(198) 评论(0) 编辑 收藏 举报
发表评论

[Ctrl+Enter快捷键提交]
【推荐】阿里云-云服务器省钱攻略 :五种权益,限时发放,不容错过
Copyright © 2023 宣君
Powered by .NET 7.0 on Kubernetes

博客园
首页
新随笔
草稿箱
联系
订阅
管理

目录

C#结合OpenCVSharp4使用直方图算法比较图片相似度
1. 下载 OpenCVSharp4
2. 使用

Autumn Wonderland
10 Sept, 2023
<
2023年9月
>







27
28
29
30
31

1
2
3
4

5
6
7

8

9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接

我的随笔
我的评论
我的参与
最新评论
我的标签

最新随笔

1.C#结合OpenCVSharp4使用直方图算法比较图片相似度
2.C#结合OpenCVSharp4图片相似度识别
3.pentaho(keetle)使用手册
4..NET6.0实现IOC容器
5..NET6读取appsettings.json配置
6..NET Evolve 数据库版本管理工具
7.Vu3+Element-Plus根据路由配置生成菜单导航栏
8.Winform跨线程访问UI
9.pentaho(keetle)数据同步实践
10.DXP GridView 行右键菜单

我的标签

.NET(9)
OpenCVSharp4(2)
ETL(2)
DXP(2)
前端(2)
大数据(2)
.NET for Apache Spark(2)
WinForm(1)
Vue3(1)
nrm(1)
Evolve(1)
Element-plus(1)
C#(1)
算法(1)
分享(1)

积分与排名

积分 - 8010
排名 - 130207

随笔分类 (19)

大数据(4)
后端(10)
前端(2)
算法(1)
随笔分享(2)

随笔档案 (18)

2023年9月(5)
2023年8月(6)
2023年7月(1)
2022年11月(2)
2022年10月(1)
2022年7月(3)

阅读排行榜

1. .NET6.0实现IOC容器(1883)
2. .Net 一套接口多实现(1237)
3. C#获取文件MD5(1057)
4. .NET Evolve 数据库版本管理工具(879)
5. Winform跨线程访问UI(636)

评论排行榜

1. .NET6.0实现IOC容器(17)
2. .NET Evolve 数据库版本管理工具(10)
3. .Net 一套接口多实现(4)
4. Vu3+Element-Plus根据路由配置生成菜单导航栏(1)
5. DXP TreeList 目录树(1)

推荐排行榜

1. .NET6.0实现IOC容器(8)
2. Winform跨线程访问UI(7)
3. C#结合OpenCVSharp4使用直方图算法比较图片相似度(4)
4. C#结合OpenCVSharp4图片相似度识别(4)
5. .Net 一套接口多实现(4)

最新评论

1. Re:.NET6.0实现IOC容器

创建ServiceLoader 对象的那里, 只用了一层锁,锁里面没有再次判空. 多线程并发环境下会有线程安全问题.
--afeizai
2. Re:.NET6.0实现IOC容器
C#(11)里面可以用required来区分,autofac对这个现在有支持 语法参考...
--首席装逼官
3. Re:.NET6.0实现IOC容器

支持一下
--lwqblog
4. Re:.NET6.0实现IOC容器

.... 这不是标题党吗?
你只是实现了批量注入
哪里实现ioc容器了 不是用的官方提供的容器吗
--码农白里黑
5. Re:.NET6.0实现IOC容器

轻量级的也可以试试
--首席装逼官
6. Re:.NET6.0实现IOC容器
@兴想事成 spring boot 在属性注入和构造函数注入上反复横跳,导致大家也跟着反复横跳。net 党好像一直都是构造函数注入,或者参数注入。...
--!!!!!!!!!!!!!!!
7. Re:.NET6.0实现IOC容器
1、net6.0缺少 Keyed Services,这个在net8中已经加上。 2、基本上所有的都是推荐构造注入,但是1、如果要修改一个需要注入的,要同时改构造函数,2、如果有十几个service需要...
--首席装逼官
8. Re:.NET6.0实现IOC容器
@宣君 没毛病,多种实现方式也可以开拓思路嘛~...
--小夜鲲
9. Re:.NET6.0实现IOC容器

看了下别人写的, 属性注入, 影响效率. 属性注入会对所有的实现类进行扫描.一般正确的做法就是 构造函数注入
--兴想事成
10. Re:.NET6.0实现IOC容器

666666666666666666666666666666666
--Nietz

标签:总结,容器,--,hist,Re,IOC,NET6.0
From: https://www.cnblogs.com/lmyy/p/17690907.html

相关文章

  • 每日总结
    长时间不操作dbeaver会和数据库断开不会自己链接上 重连的方法: 点击全部断开,然后dbeaver会重新连接的,这是目前找到最快的方式解决方式 ......
  • 13 总结
    网络编程:通过编程,对网络上的资源进行操作首先要了解:计算机网络的概念这个计算机系统实现网络通信:1.有两个要素:IP,端口号--->了解IP和端口号的基本知识(是什么,有什么用,怎么用)2.制定与遵守网络协议:主要学习传输协议TCP与UDP。上面的两点通过编程来加深理解并且实现最后,回......
  • 2023最新总结,Mac下使用Homebrew完全指南!
    2023最新总结,Mac下使用Homebrew完全指南!滚石前端成长之路  45人赞同了该文章1.介绍Homebrew是一款包管理工具,目前支持macOS和Linux系统。主要有四个部分组成:brew、homebrew-core、homebrew-cask、homebrew-bottles。 2.安装2.1执行安装脚本执行......
  • 每日总结
    今日收获成功在IDEA上连接上了Hive数据库,还能够在IDEA里面自由地对Hive数据库数据进行编写,即能够实现增删改查的管理系统;背了单词;学习了有关vue的知识;明天预计明天尝试一下配置一下hbase,使用IDEA连接一下hbase的数据库,希望这样能够让连接了hive数据库的管理系统运行得更快一......
  • 大三每日总结
    今日学习hbase配置,软考学习软考内容;寻址操作立即寻址(第一快的方法):操作数包含在指令中直接寻址(第三快):直接给出操作数所在的单元地址寄存器寻址(第二快)作数在寄存器中,从寄存器中取得,指令给的是寄存器的名字(数字值存入寄存器中......
  • 继承的学习总结
      先上PPT,super就是把爸爸的东西拿来用,然后语法就是如下图  publicclassStudentextendsPerson  (调用)比如想调用“爸爸”的print那么可以写super.print(). (先在类里面用test1()拿到super,然后往外运行也ok)  这张图就是说,Student构造函数偷偷调用了"......
  • 2023.9.9——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午数学建模比赛,下午数学建模比赛。我了解到的知识点:1.学习使用excel的分列、分类汇总以及一些其他函数2.学习并完成zookeeper的安装;明日计划:1.完成数学建模比赛;2.完成HBase的安装;......
  • 20230909学习总结hbase命令大全
    bin/hbase进入hbaseShell命令模式create'student','Sname','Ssex','Sage','Sdept','course'创建student表,属性'Sname','Ssex','Sage','Sdept','course'put......
  • 今日总结
    今天的主要精力花在了hbase的增删改查的实现上;我根据相关的教程,编写了hbase增删改查的几个相关的api,通过这几个api已经可以在hbase实现初步的增删改查的操作了 完成了HBaseDDL和HBaseDML的初步的编写 具体来讲,在HBaseDML中实现了四个方法:1.插入数据2.读取数据3.扫描数据4.......
  • Markdown语言学习总结(软件:Typora)
    Markdown1.标题:#+标题——一级标题##+标题——二级标题###+标题——三级标题####+标题——四级标题#####+标题——五级标题######+标题——六级标题最多到六级标题2.字体**加粗**加粗*斜体*斜体***斜体加粗***斜体加粗~~删......