- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据压缩全部代码数据压缩全部代码
游程编码(matlab):
tu1=imread(f:******jpg); %读入图像
imshow(tu1); %显示原图像
% 以下程序是将原图像转换为二值图像
tu2=tu1(1:72900); %将原始图像写成一维的数据并设为 tu2
tu2length=length(tu2); % 计算tu2的长度
for i=1:1:tu2length % for 循环,目的在于转换为二值图像
if tu2(i)=127
tu2(i)=255;
else tu2(i)=0;
end
end
tu3=reshape(tu2,270,270); % 重建二维数组图像,并设为tu3
figure,imshow(tu3);
% 以下程序为对原图像进行游程编码,压缩
x=tu3(:); %令x为新建的二值图像的一维数据组
x=1:100:length(x); % 显示游程编码之前的图像数据
figure,plot(x,x(x));
j=1;
tu4(1)=1;
for z=1:1:(length(x)-1) % 游程编码程序段
if x(z)==x(z+1)
tu4(j)=tu4(j)+1;
else
data(j)=x(z); % data(j)代表相应的像素数据
j=j+1;
tu4(j)=1;
end
end
data(j)=x(length(x)); % 最后一个像素数据赋给data
tu4length=length(tu4); % 计算游程编码后的所占字节数,记为tu4length
y=1:10:tu4length ; % 显示编码后数据信息
figure,plot(y,tu4(y));
% 下面程序是游程编码解压
l=1;
for m=1:tu4length
for n=1:1:tu4(m);
rec_tu(l)=data(m);
l=l+1;
end
end
u=1:100:length(rec_tu); % 查看解压后的图像数据
figure,plot(u,rec_tu(u));
rec2_tu=reshape(rec_tu,270,270); % 重建二维二维图像数组
figure,imshow(rec2_tu); % 显示解压恢复后的图像
算术编码(c语言):
#include iostream
using namespace std;
const int N=200;
void main(){
float lp[N],p[N],A[N],C[N],f[N],X[N][N];
float Z[N][N],w[N][N],l[N],h[N],t[N];
char xinyuan[N],code[N]; //定义信源符号、码字序列。
char v;
float r=0,b=0,q=0,d=1,u;
int i,j,k,g,n;
lp[0]=0;
int length,temp; //设定信源符号及其概率
cout请输入信源符号序列的长度:;
cintemp;//4
length=2*temp;
cout请依次输入信源符号:;
coutendl;
for(i=0;ilength;i++)
cinxinyuan[i];//00 01 10 11
cout请依次输入信源概率:;
coutendl;
for(i=0;ilength/2;i++)
cinp[i];//0.1 0.4 0.2 0.3
cout相应累加概率:endl;
for(i=0;ilength/2;i++)
{ //求信源符号累加概率
if(i==0) lp[i]=0;
else lp[i]=lp[i-1]+p[i-1];
coutlp[i] ;
}
coutendl;
for(;;)
{
cout请选择您要进行的工作方式(0-编码,1-为译码):;
cinn;
if(n==0)
{ //选择编码
int length1;
cout请输入要进行算术编码的码字序列的长度:;
cintemp;
您可能关注的文档
最近下载
- 教科版五年级上册小学科学第一单元《光》测试卷(含答案).pdf VIP
- 08K507-1~2、08R418-1~2 管道与设备绝热.pdf VIP
- UV固化灯.pdf VIP
- 第二单元 第5课《网络协议分层设》教学设计2024-2025学年人教版(2024)初中信息科技七年级上册.docx
- 竞选大学心理委员PPT模板.pptx VIP
- 《生态学》第5章 生态系统生态学-教学课件(非AI生成).ppt
- 新22J01 工程做法参考图集.docx VIP
- 外来施工人员的安全培训.pptx VIP
- 一种梁板式高桩码头上部结构的施工方法.pdf VIP
- 医用耗材集中采购对医疗资源配置优化与公平性的探讨.docx
文档评论(0)