
1. 首先,准备好排列熵的数据,将其存储在一个矩阵中;
2. 然后,使用pcolor()函磨衡数绘制图像,其参数为矩阵中的数据;
3. 最后,使用colorbar()函数添加颜绝芦色条,以便更好地展示排列熵的图像。
求图像的熵,在型纯许多场合下都有应用,也可以有多种编写程序的方法,下面介绍作者编写的一个图像熵的函数yentropy(),可以直接调用首租晌。可者锋以用于求图像的局部熵,也可以求其整体熵。function entr=yentropy(a)
a=uint8(a) %这里a为8位的单色图像或24为的RGB彩色图像
[m n l]=size(a)
entr=0
for k=1:l
hi=zeros(1,256)
for i=1:m
for j=1:n
hi(a(i,j,k)+1)=hi(a(i,j,k)+1)+1 %求每种值的在图像中出现的次数
end
end
hi=sort(hi,'descend')
hi=hi./m./n %求概率
en=0.0
for i=1:256
if hi(i)>0
en=en-hi(i).*log2(hi(i)) %概率不为0 累加求熵
else
i=257 %否则停止
end
end
entr=entr+en
end
entr=entr/l %当l=1时a为单色图像;当l=3时a为彩色图像,三个页面的熵平均
%---------------------------------%求一幅数字图像的熵值
%---------------------------------
I=imread('lena.bmp')
%I=double(I)
[C,R]=size(I) %求图像的规格
Img_size=C*R %图像像素点的总个数
L=256 %图像的灰度腔尺灶级
H_img=0
nk=zeros(L,1)
for i=1:C
for j=1:R
Img_level=I(i,j)+1%获取图像的灰度级
nk(Img_level)=nk(Img_level)+1 %统计每个灰度级像素的点数
end
end
for k=1:L
Ps(k)=nk(k)/Img_size %计算每一个伍扮灰度级像困扰素点所占的概率
if Ps(k)~=0 %去掉概率为0的像素点
H_img=-Ps(k)*log2(Ps(k))+H_img %求熵值的公式
end
end
H_img
%entropy(I)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)