互信息,Kullback Leibler 两个彩色图像之间的散度

2024-01-06

我正在研究一个使用互信息进行图像分类的项目。它要求我使用彩色图像的概率分布,要么我想计算Matlab中的互信息或Kullback Leibler散度。谁能帮我解决这个问题吗? 我将彩色图像的熵计算为:

I = imread('s1.png');
% rgb_columns = reshape(rgb, [], 3);

% %Change RGB matrices to a single matrix of color indices.
% %Removes the third dimension from the pixel intensity matrix.
Color_ind=double(I(:,:,1)).*256^2+double(I(:,:,2).*256)+double(I(:,:,3));      
disp(size(Color_ind));     

% Finding unique elements in the matrix and find their length
unique_ind=unique(Color_ind);
unique_len=length(unique_ind);

%Pre-allocate space for the vector that will hold the number of entries
%for each unique color
color_count_prob=zeros(unique_len,1);

%Count the number of each occurrence of each unique color index in the 
%original matrix.
for i = 1:unique_len
  color_count_prob(i)=(length(find(unique_ind(i)==Color_ind)))/(2073600);
end
en_sum=0;
for i = 1:unique_len
  en_sum = en_sum + log2(color_count_prob(i));
end
en = -en_sum;

对于彩色图像的 PDF 计算:

首先,您需要将图像转换为灰度图像。如果您坚持保持 RGB 模式(或任何其他颜色模式),您将必须生成 3 个 PDF(每个颜色通道一个) - 我不建议出于 Kullback Liebler 或互信息的目的这样做,灰度图像将做。

其次,您需要计算每个图像的分布。为此,您需要展平图像(从 2D 数组转换为 1D 数组)。拼合图像后,您应该对值进行排序。排序后,您应该对它们进行标准化(您可以选择不这样做,但建议这样做)。之后,您可以导出图像的直方图。

要测量 Kullback Leibler 散度,您需要:

  1. 测量图像直方图上的熵。这将是一个数字。
  2. 只需减去第一步中的值,就会得到这两个图像的 Kullback Leibler 散度值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

互信息,Kullback Leibler 两个彩色图像之间的散度 的相关文章

  • Blob 的簇生长

    考虑以下来自 Mathworks 的图像 我已经用标签标记了斑点 L num bwlabel I 如何迭代连接所有斑点 即从一个斑点开始 找到离它最近的一个 考虑最左边的两个斑点 可以从一个斑点的许多点绘制许多条线来连接到另一个斑点blob
  • 如何从 Matlab 运行 R 脚本 [重复]

    这个问题在这里已经有答案了 我有 m 文件 我想用它来运行 R 脚本 我怎样才能做到这一点 Matlab文件 caller m some matlab code need to call a R script some matlab cod
  • Matlab下降低图像质量

    问候 我正在尝试找到一种简单的方法来处理图像 以便将其质量从 8 位降低到 3 位 实现这一目标的最简单方法是什么 干杯 如果要线性缩放 只需将每个像素值除以 255 7 即 如果原始图像存储在矩阵 I 中 则让低分辨率图像 J I 255
  • 是否可以将 ppm 文件从 p3 转换为 p6 或使用pillow lib 打开 ppm p3 文件

    是否可以将 ppm 文件从 p3 转换为 p6 或使用pillow lib 打开并读取 ppm p3 文件 我实际上有 ppm p3 文件 并尝试使用pillow lib 将它们转换为 jpg 但不幸的是 它不读取 p3 文件 只读取 p6
  • 在Matlab图例中使用Latex?

    我的 matlab 不接受我的 Latex 例如 如果我使用legend b 6 rightarrow b 7 它没有向我显示箭头 我该如何解决这个问题 尝试使用 Latex 解释器 例如 legend b 6 rightarrow b 7
  • 计算向量的导数

    我有以下函数 维维亚尼曲线 Phi t cos t 2 cos t sin t sin t 只需检查它是否有效 s linspace 0 T 1000 plot3 cos s 2 cos s sin s sin s 如何推导函数Phi 可能
  • 使用网络计算机进行 Matlab 并行处理

    我熟悉matlabpool and parfor用法 但我仍然需要加快计算速度 我的 1GB 网络中有一台功能更强大的计算机 两台计算机都有 R2010b 并且具有相同的代码和路径 使用两台计算机进行并行计算的最简单方法是什么 我今天使用的
  • MATLAB 符号替换

    我知道在 MATLAB 中如果声明了 syms x y f x 2 y 2 grad gradient f 然后grad会存储值 2 x 2 y 如果我想评估梯度 2 2 I use subs f x y 2 2 这返回 4 4 我正在编写
  • Python 中 Matlab 'fscanf' 的等价物是什么?

    Matlab函数fscanf 似乎很强大 python 或numpy 中是否有相同的等效项 具体来说 我想从文件中读取矩阵 但我不想迭代每一行来读取矩阵 类似的东西 来自 matlab 用于读取 2D 1000x1000 矩阵 matrix
  • 如何使用最小生成树方法将边缘连接到图像中的节点

    我正在做我的手写图像图形匹配项目 我想在图形中表示给定的单词图像 我使用下面的算法 Algorithm input Binary image B Grid width w Grid height h Output Graph g V E w
  • 当 MATLAB 变得非常非常忙时,如何中断它?

    我正在运行一个长时间的模拟MATLAB http en wikipedia org wiki MATLAB我意识到我需要停下来重新运行 然而 MATLAB 确实对这种计算很感兴趣 并且它停止了响应 如何在不终止 MATLAB 的情况下中断此
  • 透视变形矩形的比例

    给定一张被透视扭曲的矩形的二维图片 我知道这个形状原本是一个矩形 但我不知道它原来的大小 如果我知道这张图片中角点的像素坐标 我如何计算原始比例 即矩形的商 宽度 高度 背景 目标是自动使矩形文档的照片不失真 边缘检测可能会通过霍夫变换完成
  • Python:处理图像并保存到文件流

    我需要使用 python 处理图像 应用过滤器和其他转换 然后使用 HTTP 将其提供给用户 现在 我正在使用 BaseHTTPServer 和 PIL 问题是 PIL 无法直接写入文件流 因此我必须写入临时文件 然后读取该文件 以便将其发
  • 去除图像背景并提取图像中的对象

    I know that there are many threads here about this issue but I m not able to solve my problem with those answers I tried
  • 如何使用神经网络保存 Sift 特征向量进行分类

    SIFT 特征的 Matlab 实现发现于http www cs ubc ca lowe keypoints http www cs ubc ca lowe keypoints 在 stackoverflow 的帮助下 我想将功能保存到 m
  • 如何将十六进制数组转换为 UIImage?

    有几个与使用 P25mi 动态打印图像相关的未解答问题 没有一个得到公认的答案 下面有几个链接 如何将图像转换为位图代码以便在 iPhone 中进行蓝牙打印 https stackoverflow com questions 1383828
  • Matlab 中是否有相当于 R 的 dput() 的函数?

    Matlab 中是否有相当于 R 的 dput 的函数 dput 将 R 对象的 ASCII 文本表示形式写入文件或连接 UPDATE 1 添加了递归和对单元格的支持 UPDATE 2 添加了对结构的支持 UPDATE 3 增加了对逻辑 整
  • Instagram 勒克斯效果

    Instagram 最近添加了一个 Lux 按钮 可以对您拍摄的照片进行自动对比 调平 我有一堆图片需要以类似的方式自动调平 使这些图片看起来更好 如果我想在 Imagemagick 中使用批处理命令 需要使用什么 秘密成分 我应该坚持对比
  • 图像分析-光纤识别

    我是图像分析新手 您知道如何以仅获取纤维的方式对该图像进行二值化吗 我尝试过不同的阈值技术等 但没有成功 我不介意应该使用什么工具 但我更喜欢 NET or Matlab PS 我不知道该把答案放在哪里 所以我把它放在StackOverfl
  • 使用决策树

    我知道 tl dr 我将尝试解释我的问题 而不会用大量蹩脚的代码来打扰您 我正在做一项学校作业 我们有蓝精灵的图片 我们必须通过前景背景分析来找到它们 我有一个 Java 决策树 其中包含所有数据 HSV 直方图 1 一个节点 然后尝试找到

随机推荐

  • apache2 和 mod wsgi:目标 WSGI 脚本无法作为 Python 模块加载

    我正在尝试在 ubuntu 上的 apache2 上安装 mod wsgi 所以我安装了libapache2 mod wsgi包 我用a2enmod激活他 我有一个网站 languageAnalyz 我试图将其与 mod wsgi 一起使用
  • 判断鼠标是否在控件上? (在控制像素范围内)

    我正在尝试编写一个函数来确定鼠标是否超出像素范围 特定控件的像素范围 问题是该函数仅适用于Form 不适用于我测试过的按钮或任何其他控件 我缺少什么
  • 使用下载处理程序将 ggplot 图像保存为闪亮的

    我正在闪亮中开发一个应用程序 在闪亮中 我使用操作按钮渲染一个简单的绘图 我添加了一个下载按钮来下载用户界面中现在的绘图 从我的代码 plot3 我尝试了下面的代码来保存图像 但出现错误 未找到绘图输入 任何人都可以建议我哪里出错了 下面是
  • 限制 Subversion 存储库的大小

    您好 我想通过指定最大大小来限制存储库的大小 但是我找不到任何有关这样做的信息 这在技术上可能吗 编辑 抱歉 如果我不清楚 我想保留一个功能存储库 可以在其中继续提交补丁 但是可以自动删除至少有一个较新版本的文档的最旧版本 以保持在大小限制
  • 无法在 JAVA 中使用 SMACK api 显示收到的消息

    我在本地主机上使用 SMACK api 和 OpenFire 创建了一个简单的客户端 截至目前 我有两个用户说 X 和 Y 每当有人登录到客户端时 都会有一个发送按钮向用户 Y 发送消息 我已经检查了 XMPP 调试管理器 并且能够发送 在
  • 在目录的所有文件名中查找一个单词并将其替换为另一个单词

    我试图在目录 以及所有子目录 的所有文件名中将 所有者 一词替换为 用户 Ex owners controller gt users controller owner rb gt user rb 任何帮助 将不胜感激 Use find与 e
  • Java 8 流中按属性排序

    哦 那些带有 lambda 的棘手 Java 8 流 它们非常强大 但其中的复杂性需要花一些时间才能理解 假设我有一个User带有属性的类型User getName 假设我有这些用户的地图Map
  • C#中从DataGridView读取数据

    我怎样才能从中读取数据DataGridView在 C 中 我想读取表中出现的数据 如何浏览线路 就像是 for int rows 0 rows lt dataGrid Rows Count rows for int col 0 col lt
  • 如何使用 QSS 为禁用按钮设置不同的背景颜色?

    我已经尝试过使用disabled and enabled但它不起作用 这是我的 QSS 代码 QPushButton background color 44c767 border radius 5px border 1px solid 18
  • Javascript Chart.js 比例修复

    我有一个关于 Chart js 的简单问题 我想知道如何修复我的图表 我使用 Chart js 和 respChartJS https github com arifLogic respChartJS https github com ar
  • 如何记录 makefile?

    有没有办法在 Makefile 中编写 标准 注释 以便稍后将它们提供给类似 Doxygen 的程序 从而输出漂亮的 例如 HTML 或 man 文档 我想对我的主要目标有一个清晰的概述 但不要太花哨 以下是一个更简单的解决方案 不需要定义
  • “不变”属性是抽象定义的一部分吗?

    作为我学习的一部分 我认为我发现的抽象定义的最佳答案 有意义 来自 stackoverflow 什么是抽象 https stackoverflow com questions 7028242 what is abstraction 除此之外
  • 如何用ReentrantLock加锁?

    我希望以下测试仅打印 已锁定 一次 但它最终会打印该行 public class LocKTest Test public void testLock Lock lock new ReentrantLock while true if lo
  • Python 2.6 JSON解码性能

    我正在使用jsonPython 2 6 中的模块用于加载和解码 JSON 文件 然而 我目前的表现比预期的要慢 我正在使用一个大小为 6MB 的测试用例json loads 需要 20 秒 我以为json模块有一些本机代码来加速解码吗 我如
  • 你可以在 Laravel 中扩展 Command 类吗

    我目前正在开发一个使用 Laravel 4 的应用程序 我正在构建一个评论系统 并拥有用于创建 更新 删除的基本命令 接下来我要做的是为评论将附加到的特定对象 例如博客文章 创建命令 所以如果我的命令文件被调用CreateCommentCo
  • 即使 JSON feed 正确,fullCalendar 事件也不会显示

    与其他人一样 我在将 JSON feed 事件呈现在日历中时遇到问题 问题通常是错误的 JSON 格式 但事实并非如此 因为我已经使用 JSONlint 对其进行了验证 并在 Site Master 中对 JSON 提要进行了硬编码 并得到
  • OOP 有什么规则吗?

    最近听说OOP Java 有9条规则 我只知道四种 抽象 多态 继承和封装 OOP 还有更多规则吗 似乎您正在寻找的是面向对象设计的原则 http www butunclebob com ArticleS UncleBob Principl
  • 在 xml 中自动生成 JUnit 结果的最佳方法是什么?

    我目前正在 JUnit 中编写一系列测试 我需要将结果自动导出为 XML 我读到 执行此操作的最佳方法是扩展 RunListener 类并以这种方式编写 XML 下面是我迄今为止所做的示例 但我正在努力解决如何提取已运行的每个测试的信息 D
  • 将条件面板与 checkboxGroupInput 中的值结合使用

    我想使用 checkboxGroupInput 然后 如果选中某个框 我想要一个条件面板 一个玩具示例在这里 shinyUI fluidPage sidebarLayout sidebarPanel checkboxGroupInput i
  • 互信息,Kullback Leibler 两个彩色图像之间的散度

    我正在研究一个使用互信息进行图像分类的项目 它要求我使用彩色图像的概率分布 要么我想计算Matlab中的互信息或Kullback Leibler散度 谁能帮我解决这个问题吗 我将彩色图像的熵计算为 I imread s1 png rgb c