Matlab比较2个 二维矩阵 或 二维图像 相似度的方法总结

2023-10-29

1、corr2

A = ;
B = ;
cor = corr2(A,B)

2、通过直方图相似性比较

(参考:https://blog.csdn.net/xiaojianzhao/article/details/103785809

    如果两张图像的直方图一样,或者有极高的相似度,那么在一定程度上,可以认为这两幅图是一样的,这就是直方图比较的应用之一。通过默认的欧氏距离来比较直方图的相似性大小,值越小,两个图像的直方图越相似。

i1 = a;
i2 = b;
[c1,n]=imhist(i1);
c1=c1/size(i1,1)/size(i1,2);
[c2,n2]=imhist(i2);
c2=c2/size(i2,1)/size(i2,2);
d=pdist2(c1',c2')

3、直方图 - 巴氏距离、欧式距离、直方图相交距离

(参考:https://blog.csdn.net/shanshangyouzhiyangM/article/details/52217644)这篇博文的代码运行,会报Count1未声明,我得代码将Count1改为CountI,count2改为CountJ,不知道对不对,搞清楚了回来补笔记

 I=imread('6.tif');
 J=imread('06.tif');
 [CountI]=imhist(I);
 [CountJ]=imhist(J);

 %% 巴氏距离 =0时最匹配  =1时完全不匹配%
 SumI=sum(CountI);
 SumJ=sum(CountJ);
 %Sumup = sqrt(Count1.*Count2);
 %SumDown = sqrt(Sum1*Sum2);
 Sumup = sqrt(CountI.*CountJ);
 SumDown = sqrt(SumI*SumJ);
 Sumup = sum(Sumup);
 HistDist=sqrt(1-Sumup/SumDown)

 %% 欧式距离 =0时最匹配%
 HistDist=sqrt(sum((CountI-CountJ).*(CountI-CountJ)))

 %% 直方图相交距离 =1时最匹配 越小则越不匹配%
 HistDist=sum(min(CountI,CountJ))/sum(CountI)

 %% 图片和直方图显示%
 figure(1);
 subplot(2,2,1);imshow(I);
 subplot(2,2,2);imshow(J);
 subplot(2,2,3);imhist(I);
 subplot(2,2,4);imhist(J);

4、结构相似性度量

(参考:https://blog.csdn.net/u010977034/article/details/82733137

img1 = 
img2 = 
[ssimval, ssimmap] = ssim(img1,img2);

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matlab比较2个 二维矩阵 或 二维图像 相似度的方法总结 的相关文章

  • 黑白随机着色的六角格子

    我正在尝试绘制一个 10 000 x 10 000 随机半黑半白的六边形格子 我不知道如何将该格子的六边形随机填充为黑色和白色 这是我真正想要从这段代码中得到的示例 但我无法做到 https i stack imgur com RkdCw
  • matlab中的排列函数是如何工作的

    这是一个有点愚蠢的问题 但我似乎无法弄清楚排列在 matlab 中是如何工作的 以文档为例 A 1 2 3 4 permute A 2 1 ans 1 3 2 4 到底是怎么回事 这如何告诉 matlab 3 和 2 需要交换 哇 这是我迄
  • 如何找到平面和 3d 矩阵之间的交平面

    如果我有一堆图像并且尺寸如下 size M 256 256 124 我有 3 个点 它们的坐标是 coor a 100 100 124 coor b 256 156 0 coor c 156 256 0 如何创建 M 与这 3 个点定义的平
  • 如何使用 MATLAB 的 substruct 函数创建表示使用“end”的引用的结构?

    我想使用substruct http www mathworks com help matlab ref substruct html函数创建一个结构体以供使用subsref 目的是使用索引字符串subsref而不是通常的 符号 因为我正在
  • MATLAB - 冲浪图数据结构

    我用两种不同的方法进行了计算 对于这些计算 我改变了 2 个参数 x 和 y 最后 我计算了每种变体的两种方法之间的 误差 现在我想根据结果创建 3D 曲面图 x gt on x axis y gt on y axis Error gt o
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • “Desort”向量(撤消排序)

    在Matlab中 sort返回排序后的向量和索引向量 显示哪个向量元素已移动到以下位置 v ix sort u Here v是一个包含所有元素的向量u 但已排序 ix是一个向量 显示每个元素的原始位置v in u 使用 Matlab 的语法
  • 在matlab中绘制给定区域内(两个圆之间)的向量场

    我想在 Matlab 中绘制下面的向量场 u cos x x 0 y y 0 v sin x x 0 y y 0 我可以在网格中轻松完成 例如 x 和 y 方向从 2 到 2 x 0 2 y 0 1 x y meshgrid 2 0 2 2
  • 如何在MATLAB中显示由三个矩阵表示的图像?

    我有 3 个相同大小的 2D 矩阵 假设 200 行和 300 列 每个矩阵代表三种 基本 颜色 红色 绿色和蓝色 之一的值 矩阵的值可以在 0 到 255 之间 现在我想组合这些矩阵以将它们显示为彩色图像 200 x 300 像素 我怎样
  • 检测分段常数信号中的阶跃

    我有一个分段恒定信号 如下所示 我想检测步骤转换的位置 标记为红色 我目前的做法 使用移动平均滤波器平滑信号 http www mathworks com help signal examples signal smoothing html
  • MATLAB 列含义的内存分析

    我正在使用 MATLAB 配置文件来使用命令观察内存 profile memory on profile clear my code profile report and i got this table 1 我想问一下什么意思 已分配内存
  • 读出 Matlab / Octave fft2() 函数输出的特定点

    我正在熟悉 Octave 及其功能fft2 在此玩具示例中 我的目标是生成以下 256 x 256 png 图像的 2D DFT 为了能够轻松理解输出 我尝试将此图像转换为 256 x 256 图像 消除颜色信息 Im imread cir
  • 加到 100 的随机数:Matlab

    我将人口数量分成不同的矩阵 现在想使用随机数测试我的代码 快速提问 谢谢你们提前的帮助 如果我使用 100 rand 9 1 使这 9 个数字相加等于 100 的最佳方法是什么 我想要 9 个 0 到 100 之间的随机数 加起来为 100
  • 小矩阵乘以大矩阵

    我试图将小矩阵 假设为 2x2 中的每个元素与大矩阵 假设为 4x4 中的每个位置逐个元素相乘 所以我想要 1 2 3 4 1 0 3 0 1 0 1 2 3 4 0 0 0 0 0 0 x 1 2 3 4 1 0 3 0 1 2 3 4
  • typeinfo、共享库和 dlopen()(不带 RTLD_GLOBAL)

    当使用加载时 我在跨共享库时遇到了一些异常无法正常运行的问题 或者至少 正如我所希望的 我知道这存在问题 dlopen 我在这里包含一些简化的示例代码 实际情况是myapp Matlab myext1 mexglx matlab 扩展 my
  • 性能:Matlab 与 Python

    我最近从Matlab to Python 在转换我的一个冗长代码时 我惊讶地发现Python非常慢 我分析并追踪了一个函数占用时间的问题 该函数是从我的代码中的各个位置调用的 作为递归调用的其他函数的一部分 探查器建议300两个地方都调用了
  • 在Matlab中,如何改变轴方向?

    我一直在 Matlab 中编写一个脚本来绘制 3D 图像 方法是使用plot3 轴在此区间内运行 x 1 gt 0 y 0 01 gt 0 z 0 gt 1 结果如下图所示 现在我想更改轴的方向 并使用此轴方向重新绘制图形 x 0 gt 1
  • MATLAB 的函数 imfill() 导致错误

    我有一个二进制图像 720x1280 逻辑 其中有一些漏洞 所以我使用imfill来填充它 但是操作失败并且出现以下错误 Undefined function or variable eml assert all constant Erro
  • matlab常量匿名函数仅返回一个值而不是一个数组

    我在网上查了好几天了 没有找到什么 希望能帮到你 我有一个像这样的匿名函数 f x y sin 2 pi x cos 2 pi y cos 2 pi x sin 2 pi y 需要对一系列点进行评估 例如 x 0 0 1 1 y 0 0 1
  • 如何使用 Mikolajczyk 的特征检测器/描述符评估框架?

    我正在尝试使用事实上的标准评估我的 SURF 描述符实现的正确性Mikolajczyk 等人的框架 阿尔 http www robots ox ac uk vgg research affine 我使用 OpenCV 来检测和描述 SURF

随机推荐

  • HTTP(S)协议详解

    1 什么是协议 协议 网络协议的简称 网络协议是通信计算机双方必须共同遵从的一组约定 如怎么样建立连接 怎么样互相识别等 只有遵守这个约定 计算机之间才能相互通信交流 粗俗理解协议就是 比如你的电脑和我的电脑要通信 我们之间的交流为什么互相
  • Mysql8的备份脚本 ,基于xtrabackup8.0

    Mysql8的备份脚本 基于xtrabackup8 0 注意 xtrabackup8 0与mysql8直接的版本依赖强 安装xtra后可查看支持的Mysql8版本 xtrabackup8 下载页面 https centos pkgs org
  • 后台管理系统布局以及跳转,点击菜单局部刷新,右侧显示对应界面完整版

    源码地址 https gitee com nggLee java funny 1 进入站长之家https sc chinaz com 2 搜索后台管理模版 下载一个 本次使用的模版 https sc chinaz com moban 160
  • CONST

    定义 编辑 const修饰的数据类型是指常类型 常类型的变量或对象的值是不能被更新的 目的 编辑 const 推出的初始目的 正是为了取代预编译指令 消除它的缺点 同时继承它的优点 主要作用 编辑 1 可以定义const常量 具有不可变性
  • 如何在一个中文大模型上,加入招投标字段标注的数据,搭建一个招投标字段解析的Transformer模型?

    ChatGPT方案1 在一个中文大模型上加入招投标字段标注的数据 并搭建招投标字段解析的Transformer模型可以通过以下步骤实现 收集并标注招投标相关的数据 可以使用现有的数据集 也可以通过爬虫技术获取相关数据 然后进行人工标注 标注
  • Ubuntu下安装和管理不同版本CMake,根据软件安装的需要选用不同版本的CMake

    0 Foreword 在安装VTK Visualization Toolkit 时发现需要用3 12版本以上的CMake才行 但是系统带的是3 10版本的 这时可以有两个方法 最简单粗暴就是把系统原本的CMake覆盖了 重新装新版 其次是麻
  • 快速了解时间敏感网络(TSN)_Part1

    在过去的几年间 以太网凭借开放的协议 良好的扩展性以及较高的带宽等优势为自己在车载领域赢得了一席之地 随着车载应用范围的扩大 也有越来越多的以太网技术涌现出来 今天我们就来聊一聊时间敏感网络 TSN 让大家快速了解这一技术 话不多说 大家坐
  • IDEA 快速生成项目结构的文档树形式

    参考文献 taodudu idea快速生成项目结构图 参考日期 2023 05 17 需求 在写文档的时候 想把项目结构输出成文档树的形式 实现 在 IDEA 中 可以点击下方 Terminal 按钮或 Alt F12 打开终端 同理 在命
  • 旋转矩阵 推导

    旋转变换 一 旋转矩阵 1 简介 计算机图形学中的应用非常广泛的变换是一种称为仿射变换的特殊变换 在仿射变换中的基本变换包括平移 旋转 缩放 剪切这几种 本文以及接下来的几篇文章重点介绍一下关于旋转的变换 包括二维旋转变换 三维旋转变换以及
  • vue3+vite+TS如何实现水印

    水印是通过canvas画图来实现的 首先需要创建一个ts的文件夹 之后在APP vue中全局加入水印 这样就可使全部页面都有水印 如果想要某个页面实现水印只需要单独写在页面即可 这里的判断主要是判断是否登录 登陆时再加上水印 如若不需要判断
  • 无需MS Office创建Excel!再C ++中以编程方式在Excel电子表格中创建图表

    图表是简洁显示数据的绝佳工具 此外 它们以可视方式表示数据 从而更易于使用大量数据 在需要显示数据 例如每月预算比较或产品采用率 的情况下 图表可能会有所帮助 有鉴于此 本文将教您如何使用C 在Excel文件中创建图表 使用C 在Excel
  • 多项目管理五大特点

    多项目管理建立在一般项目管理的基础上 所以它具有项目管理的所有特点 同时 多项目管理无论在内涵还是外延方面 都处在不断完善的发展中 具有区别于一般的单项目管理的特点 战略性 单项目管理注重项目本身的计划 执行及控制 并确保提交合格的最终项目
  • [python] ThreadPoolExecutor线程池

    初识 Python中已经有了threading模块 为什么还需要线程池呢 线程池又是什么东西呢 在介绍线程同步的信号量机制的时候 举得例子是爬虫的例子 需要控制同时爬取的线程数 例子中创建了20个线程 而同时只允许3个线程在运行 但是20个
  • LTS-局部时间步,自动调节步长技术

    在查看interFoam求解器时 会发现其中引入了LTS if LTS include setRDeltaT H 那么它的含义和功能是什么呢 LTS locall time step 是一种局部时间步求解器 该求解器建立于局部时间步下 它会
  • 小米官网(前一部分)html

  • QMessageBox 消息框

    QMessageBox QMessageBox是Qt框架提供的用于弹出消息对话框的类 它可以用于显示一些提示信息 警告信息 错误信息等 QMessageBox的使用非常简单 只需要调用静态方法即可弹出对话框 QMessageBox info
  • 【深度学习】 Python 和 NumPy 系列教程(十四):Matplotlib详解:1、2d绘图(下):箱线图、热力图、面积图、等高线图、极坐标图

    目录 一 前言 二 实验环境 三 Matplotlib详解 1 2d绘图类型 0 设置中文字体 1 5 折线图 散点图 柱状图 直方图 饼图 6 箱线图 Box Plot 7 热力图 Heatmap 8 面积图 Area Plot 9 等高
  • 2021年深度学习的医学图像分割技术研究进展

    基于深度学习的医学图像分割技术研究进展 闫 超 孙占全 田恩刚 赵杨洋 范小燕 摘 要 医学图像分割在临床诊断中发挥着重要作用 也是其他医学图像处理方法的基础 随着计算机硬件性能的提高 基于深度学习的图像分割技术已成为处理医学图像的有力工具
  • CTF MISC压缩包简单题学习思路总结(持续更新)

    系列文章目录 太复杂了 已经懒得写目录了 怎么我自己分了这么多篇CTF简单题思路总结啊 我真是太菜了 各位大佬有兴趣可以去分类专栏看一看 文章目录 系列文章目录 前言 一 压缩包识别 修复 二 压缩包伪加密 三 压缩包破解 3 1 暴力破解
  • Matlab比较2个 二维矩阵 或 二维图像 相似度的方法总结

    1 corr2 A B cor corr2 A B 2 通过直方图相似性比较 参考 https blog csdn net xiaojianzhao article details 103785809 如果两张图像的直方图一样 或者有极高的