在图像的压缩编码中经常提到信源熵的概念,下面用matlab实现
close all;
clc;clear all;
f = [119 123 168 119;123 119 168 168;
119 119 107 119;107 107 119 119];%将f看做一幅图像
p = hist(f(:),8);%该直方图将会有8列,如果是灰度图像,则使用hist(f(:),256),因为灰度图有256个灰度级
p = p/sum(p);
i = find(p);
h = -sum(p(i).*log2(p(i)))%计算信源熵