- 80
- 0
- 约2.99千字
- 约 4页
- 2017-08-10 发布于重庆
- 举报
实验二_信息熵与图像熵计算.pdf
未信的我
实验名称:信息熵与图像熵计算
一、实验目的:复习信息熵基本定义, 能够自学图像熵定义和基本概念。
二、实验内容与原理:
内容:
1.能够写出MATLAB 源代码,求信源的信息熵。
2.根据图像熵基本知识,综合设计出MATLAB 程序,求出给定图像的图像
熵。
原理:
1.MATLAB 中数据类型、矩阵运算、图像文件输入与输出知识复习。
2.利用信息论中信息熵概念,求出任意一个离散信源的熵(平均自信息量)。
自信息是一个随机变量,它是指某一信源发出某一消息所含有的信息量。所发出
的消息不同,它们所含有的信息量也就不同。任何一个消息的自信息量都代表不
了信源所包含的平均自信息量。不能作为整个信源的信息测度,因此定义自信息
量的数学期望为信源的平均自信息量:
信息熵的意义:信源的信息熵H是从整个信源的统计特性来考虑的。它是从
平均意义上来表征信源的总体特性的。对于某特定的信源,其信息熵只有一个。
不同的信源因统计特性不同,其熵也不同.
三、实验步骤
1.求解信息熵过程:
1) 输入一个离散信源,并检查该信源是否是完备集。
2) 去除信源中符号分布概率为零的元素。
3) 根据平均信息量公式,求出离散信源的熵。
H P log P
i i
i
具体实现的C语言代码:
#includestdio.h
#includemath.h
int main()
{
double a[100],count=0,H=0;%定义了一个双精度的数组,用以输入概率值
%count用以统计概率和
% H为离散信源的熵
int i;
printf(输入概率和为1的4个概率值:\n);
for (i=0;i4;i++)
{
scanf(%lf,a[i]);
}
未信的我
for (i=0;i4;i++)
{
printf(%lf\n,a[i]);
count=count+a[i];
if (a[i]!=0) %判断语句
H=H+(-a[i]*log(a[i])/log(2)); % 把C语言中以10为底的LOG函数
转变为以2为底的函数
else
continue;
}
printf(离散信源的熵:%lf\n,H);
}
2.图像熵计算过程:
1) 输入一幅图像,并将其转换成灰度图像。
2) 统计出图像中每个灰度阶象素概率。
3) 根据图像熵和公式,计算出一幅图像的熵。
I = imread(peppers.png); %读入彩色图像
imshow(I);
img = rgb2gray(I); %将图像转换为灰度图像
[x,y] = size(img);
P1 = imhist(img)/(x*y);
H1=0;
for i=1:256
if P1(i) ~= 0
H1 = H1+(-P1(i)*log2(P1(i)));
end
end
H1
四、实验数据及结果分析(可附程序运行截图)
您可能关注的文档
最近下载
- 制造业信息化战略规划实施与优化-PDM.docx VIP
- 那智不二越机器人flexgui toolbox操作说明书.pdf VIP
- 智慧工厂-智慧工厂解决方案.docx VIP
- 高中化学解题方法归纳:和量法.doc VIP
- 译林牛津新版高中英语(必修1-3)单词表.pdf VIP
- 包装有限公司分切机安全风险分级清单.docx VIP
- 重庆市西南大学附属中学2025届高三下学期二诊模拟考试物理试卷 含解析.docx VIP
- 【高中英语】《星火英语同步词汇》抗遗忘速记手册.docx VIP
- 成都市锦江区2026届初三一诊(暨期末考试)数学试卷(含答案).docx
- 三坐标 培训教程.pptx VIP
原创力文档

文档评论(0)