ncc匹配(三,opencv相关性匹配ncc与数学相关性匹配对比解惑)

opencv关于ncc说,,完全匹配p=1,完全不匹配p=-1,p=0表示无关联。

数学书概率论中说,|p|=1,是线性相关,p=0,不相关。

我在程序中验证后,发现,数学书更准确。

第一,线性相关就是匹配相关。

第二,p=-1,也是完全匹配。怎么得到值是-1,或逼近-1的值呢?

学习模板不变,匹配到的图像,计算p=1;

然后,灰度翻转匹配到的图像(黑白相反),

即    roiImage备用ncc3[i * roiwforncc + j] =(byte)(255-
                        globgaospydoutimgN精细for90[i * localww1per4 + j + tihuan]);

公式不变,ncc的结果p=-1出现,

也就是说,0,40,80,255,0这一串数和255-0,255-40,255-80,255-255,255-0

匹配结果是p=-1,也就是说,黑白颠倒,而形状一样,0,40,80,255,0这一串数和0,40,80,255,0自然p=1.

第三,线性相关比匹配表达的意思更准确,线性相关表达了比例缩放(尺度变化)并不影响结果,而匹配,我们首先直观的理解是,不带比例缩放的。

不信你看,相关的两幅图,模板和匹配结果图像,都是长m,宽n。

实际缩放1/4,仍然可以用这个公式匹配,怎么做呢?

a,变换到0-255的直方图

b,w*h的模板,和缩放图像1/2*w*1/2*h(比如我们用模板隔行隔列取图),他们的直方图是一致的。

c,在直方图基础上,样本数是256,均值各算各,公式仍可以保证正确匹配。

下面是测试代码:

//roiImage直方图ncc4, roiImage直方图ncc都使用原图
             
              double[] 百分比直方图=new double[256];
         double      junzhi = 0;
        double       junzhiM = 0;
              for (int i = 0; i < roiwforncc * roihforncc; i++)
              {               
                  百分比直方图[roiImage直方图ncc[i]]++;
                 
              }
          
              for (int h = 0; h < 256; h++)
              {


                  junzhi += 百分比直方图[h] * 百分比直方图[h] / (roiwforncc * roihforncc);
              }
             
              double[] 百分比直方图m = new double[256];
              //应该做插值或高斯平滑,否则竖线或横线刚好在隔行隔列上,就干掉了,先试一试,再试一试202402031211
              for (int i = 0; i < roiwforncc; i+=2)
                  for (int j = 0; j <  roihforncc; j+=2)
              {
                  int temp = j * roiwforncc + i;
                
                  百分比直方图m[roiImage直方图ncc4[temp]]++;
                 
              }
           
         
              for (int h = 0; h < 256; h++)
              {

                  junzhiM += 百分比直方图m[h] * 4 * 百分比直方图m[h] / (roiwforncc * roihforncc);
              }
              double aa1 = 0;
              double bb1 = 0;
              double cc1 = 0;
           
              for (int i = 0; i < 256; i++)
              {

                  aa1 += (百分比直方图[i] - junzhi) * (百分比直方图m[i] - junzhiM);
                  bb1 += (百分比直方图[i] - junzhi) * (百分比直方图[i] - junzhi);
                  cc1 += (百分比直方图m[i] - junzhiM) * (百分比直方图m[i] - junzhiM);
              }
              double p1 = 0;
              p1 = aa1 / Math.Sqrt(bb1 * cc1);

最后,要解释一下,线性相关公式中有1/(m*n)在求和西格玛之前,为什么没有了,其实是协方差分子和方差分母都有这个系数,消掉了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/668069.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Liunx网络设置

目录 1. 配置网卡的文件位置 2. 如果后续需要重启网卡 3. 配置快捷方式 4. 如果想关闭/打开某个网卡 1. 配置网卡的文件位置 cd /etc/sysconfig/network-scripts ONBOOT是否开机启动BOOTPROTOip地址分配,DHCP表示动态主机分配协议HWADDR硬件地址,MAC地址 2. 如果后续需要重…

PHP://filter过滤器

今天刷题遇到了php://filter过滤器的知识点考察&#xff1b;不会&#xff0c;看了几篇写的不错的文章&#xff0c;本来想转载的&#xff0c;但是代码复制过来后发现格式很乱&#xff0c;和原文格式差太多了&#xff1b;算了&#xff0c;直接把文章连接拿过来吧&#xff0c;在这…

spring boot3x登录开发-上(整合jwt)

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途。 目录 前置条件 jwt简介 导依赖 编写jwt工具类 1.配置项直接嵌入代码&#xff0c;通过类名.静态方法使用 2.配置项写到…

最短编辑距离问题与动态规划----LeetCode 72.编辑距离

动态规划&#xff08;Dynamic Programming, DP&#xff09;是解决复杂问题的一个强大工具&#xff0c;它将问题分解成更小的子问题&#xff0c;并使用这些子问题的解决方案来构建整体问题的解决方案。在深入探讨最短编辑距离问题之前&#xff0c;让我们先理解什么是动态规划&am…

让cgteamwork自动为Houdini载入相机,角色道具的abc文件

一 需求 最近接到个需求&#xff1a;在创建EFX文件时&#xff0c;自动加载动画出的缓存abc文件相机&#xff0c; 不用手动一个个的载入&#xff0c;还容易出错 ABC文件自动导入到Houndini里 二 过程/效果 在CGTeamwork里打开对应的镜头&#xff0c;下面的文件列表显示相机和角…

C# 更改系统的屏保设置

C# 更改系统的屏保设置 一、如果你想更改系统的屏保设置&#xff0c;可以使用P/Invoke调用SystemParametersInfo函数。 以下演示如何设置屏幕保护程序的等待时间&#xff08;也就是启动屏保前无操作的时间间隔&#xff09;&#xff0c; 示例代码&#xff1a; using System;…

C# 怎么判断屏幕是第几屏幕?屏幕是垂直还是水平?屏幕的分辨率?

一、怎么判断屏幕是第几屏幕&#xff1f; 可以使用System.Windows.Forms.Screen.AllScreens属性来获取所有已连接的屏幕&#xff0c;并根据鼠标位置或窗口的位置来判断它所在的屏幕索引。 using System; using System.Windows.Forms;// 获取鼠标当前位置所在的屏幕 Point cur…

OpenGL统一变量 Uniform Variables

OpenGL统一变量 Uniform Variables 在OpenGL着色器编程中&#xff0c;uniform变量是一种特殊的全局变量&#xff0c;它们的作用是在图形渲染管线的不同阶段&#xff08;如顶点着色器、片段着色器等&#xff09;共享常量数据。uniform变量的值由CPU端的应用程序设置&#xff0c…

格式化日期注解@JsonFormat的使用和TimeZone时区问题

JsonFormat的使用 目的 为了便于date类型字段的序列化和反序列化&#xff0c;需要在数据结构的Date、Timestamp、DateTime类型的字段上用JsonFormat注解进行注解 使用 JsonFormat注解是一个时间格式化注解&#xff0c;比如我们存储在mysql中的数据是date类型的&#xff0c;当…

自学Java的第58,59天

网络通信 网络通信三要素&#xff1a;ip地址&#xff0c;端口号&#xff0c;协议 ip地址 常用方法 写法 端口号 协议 UDP通信 快速入门 写法&#xff08;客户端&#xff09; &#xff08;服务端&#xff09; UDP通信 多发多收 TCP通信 写法&#xff08;客户端&#xff09; …

车载充电器(OBC)氮化镓(GaN)驱动(高压高功率)设计(第四篇)

上图来自于网络 1、GaN FET概念 GaN FET&#xff0c;全称为Gallium Nitride Field-Effect Transistor&#xff08;氮化镓场效应晶体管&#xff09;&#xff0c;是一种采用氮化镓&#xff08;Gallium Nitride, GaN&#xff09;材料制作的新型功率半导体器件。相较于传统的硅基…

前端常见30个bug以及解决方法

页面加载慢&#xff1a;可以通过优化代码、减少HTTP请求、使用CDN等方式来解决。 页面布局错乱&#xff1a;可以通过检查CSS样式、使用浏览器开发者工具进行调试来解决。 图片加载失败&#xff1a;可以通过检查图片路径、图片格式、网络连接等来解决。 点击事件无效&#xf…

物联网与智慧景区的未来:机遇与挑战并存

随着科技的不断发展&#xff0c;物联网技术在智慧景区中的应用越来越广泛&#xff0c;为旅游业带来了巨大的变革。然而&#xff0c;在物联网与智慧景区的未来发展中&#xff0c;机遇与挑战并存。本文将探讨物联网与智慧景区面临的机遇和挑战&#xff0c;并提出应对措施&#xf…

《幻兽帕鲁》解锁基地和工作帕鲁数量上限

帕鲁私服的游戏参数通常可通过配置文件 PalWorldSettings.ini 来进行修改&#xff0c;然而这个配置文件有个别参数对游戏不生效&#xff0c;让人很是头疼。没错&#xff01;我说的就是终端最大的帕鲁数量&#xff01; 其实还有另外一种更加高级的参数修改方式&#xff0c;那就…

使用Python和HTTP代理进行API请求

Python&#xff0c;这个简单易学又功能强大的编程语言&#xff0c;在网络爬虫、数据分析、自动化任务等领域都有着广泛的应用。而当我们需要从外部网站获取数据时&#xff0c;API&#xff08;应用程序接口&#xff09;就成了我们的得力助手。但有时候&#xff0c;某些网站会对A…

vscode 无法远程连接waiting the server log

使用版本 报错信息 相关日志 [17:32:59.765] > Waiting for server log... [17:32:59.801] > Waiting for server log... [17:32:59.831] > > * > * Visual Studio Code Server > * > * By using the software, you agree to > * the Visual Studio…

ip网络的三类地址及其相互关系

随着互联网的普及和发展&#xff0c;IP网络已成为全球范围内最重要的信息交换平台。在IP网络中&#xff0c;IP地址是每个设备在网络中的唯一标识&#xff0c;是实现网络通信的关键。虎观代理小二二将详细介绍IP网络中的三类地址&#xff0c;即A类、B类和C类地址&#xff0c;以及…

C++进阶--C++11线程库

目录 一、线程库&#xff08;thread&#xff09;1.1 线程对象的构造方式1.1.1 调用无参的构造函数1.1.2 调用带参的构造函数1.1.3 调用移动构造函数 1.2 thread提供的成员函数1.3 获取线程的id方式1.4 线程函数的参数问题1.5 join与detach1.5.1 join方式1.5.2 detach方式 二、互…

【C/C++ 12】C++98特性

目录 一、命名空间 二、缺省参数 三、函数重载 四、引用 五、内联函数 六、异常处理 一、命名空间 在C/C项目中&#xff0c;存在着大量的变量、函数和类&#xff0c;这些变量、函数和类都存在于全局作用域中&#xff0c;可能会导致命名冲突。 使用命名空间的目的就是对…

13.从桥接模式细品人生的几座桥

“物理学不存在了&#xff0c;今后也不会存在。”——《三体》 在《三体》中&#xff0c;有这样一个桥段&#xff0c;顶级的物理学家杨冬在三体文明超级计算机“智子”的干扰和误导下&#xff0c;得出了物理实验的结果在实验之前就会被某种力量确定的结论&#xff0c;导致自己…