大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
实 验 目 的: 通过该实验,掌握通过计算机实验可变长信源编码方法,进一步熟悉香农编码,费诺编码以及霍夫曼编码方法。
实 验 环 境: Matlab7.1
实 验 内 容 及 过 程:
1.对于给定的信源的概率分布,用MATLAB语言实现香农编码。
2. 对于给定的信源的概率分布,用MATLAB语言实现霍夫曼编码。
3. 对于给定的信源的概率分布,用MATLAB语言实现游程编码。
以下为M文件:
1.
function c = shannon(p)% p = [0.2 0.15 0.15 0.1 0.1 0.1 0.1 0.1]% shannon(p)[p , index] = sort(p) ;p = fliplr(p) ; n = length(p) ;pa = 0 ; for i = 2:n??? pa(i) = pa(i – 1) + p(i – 1) ;?? endk = ceil(-log2(p)) ; c = cell(1,n) ; for i = 1:n??? c{i} = ” ;??? tmp = pa(i) ;??? for j = 1:k(i)??????? tmp = tmp * 2 ;??????? if tmp >= 1 ??????????? tmp = tmp – 1 ;??????????? c{i}(j) = ‘1’ ;??????? else??????????? c{i}(j) = ‘0’ ;??????? end??? endendc = fliplr(c) ;c(index) = c ;
2.
function c = huffman(p)n = size(p , 2) ;if n == 1 ??? c = cell(1,1) ;??? c{1} = ” ;??? return???? end[p1 , i1] = min(p) ;index = [(1:i1-1) , (i1+1:n)] ;p = p(index) ;n = n – 1 ;[p2 , i2] = min(p) ;index2 = [(1:i2-1) , (i2+1:n)] ;p = p(index2);i2 = index(i2) ; index = index(index2) ; p(n) = p1 + p2 ; c = huffman(p) ; c{n+1} = strcat(c{n} , ‘1’) ; c{n} = strcat(c{n} , ‘0’) ; index = [index , i1 , i2] ;c(index) = c ;
3.
>> image1=imread(‘C:\Program Files\MATLAB71\work\1\girl.jpg’); %读入图像
>> imshow(image1); %显示原图像(右图)
% 以下程序是将原图像转换为二值图像
image2=image1(:); %将原始图像写成一维的数据并设为 image2
image2length=length(image2); % 计算image2的长度
for i=1:1:image2length % for 循环,目的在于转换为二值图像
if image2(i)>=127
image2(i)=255;
else image2(i)=0;
end
end
image3=reshape(image2,146,122); % 重建二维数组图像
,并设为image3
figure,imshow(image3);%(右图)
% 以下程序为对原图像进行游程编码,压缩
X=image3(:); %令X为新建的二值图像的一维数据组
x=1:1:length(X); % 显示游程编码之前的图像数据
figure,plot(x,X(x));
j=1;
image4(1)=1;
for z=1:1:(length(X)-1) % 游程编码程序段
if X(z)==X(z+1)
image4(j)=image4(j)+1;
else
data(j)=X(z); % data(j)代表相应的像素数据
j=j+1;
image4(j)=1;
end
end
data(j)=X(length(X)); %
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197225.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...