基于MATLAB实现对图像的矢量量化.doc

基于MATLAB实现对图像的矢量量化.doc

ID:58584670

大小:844.50 KB

页数:11页

时间:2020-10-19

基于MATLAB实现对图像的矢量量化.doc_第1页
基于MATLAB实现对图像的矢量量化.doc_第2页
基于MATLAB实现对图像的矢量量化.doc_第3页
基于MATLAB实现对图像的矢量量化.doc_第4页
基于MATLAB实现对图像的矢量量化.doc_第5页
资源描述:

《基于MATLAB实现对图像的矢量量化.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、题目:基于MATLAB实现对图像的矢量量化姓 名:学 号:系别:电子信息工程专业:电子科学与技术2014年10月11日基于MATLAB实现对图像的矢量量化一、实验要求:1.对于图像的数据可以只选用灰度图像;2.实现对四个像素值的矢量量化,自己选择如何建立码表的方法及最佳匹配的方法;3.比较原始图像和重构图像的效果;二、实验内容:1.实验素材:在本次的对图像矢量量化的过程中,选取了琳娜(Linna)图像,256×256,12KB,如图2.1所示:图2.12.码表的建立和最佳的匹配方法:本次实验中选取的码表设计方法为LBG算法,该算法基于最佳矢量量化器设计的最佳划分和

2、最佳码书这两个必要条件,且是Lloyd算法在矢量空间的推广,其特点为物理概念清晰、算法理论严密及算法实现容易。设训练矢量集为,待产生的码书为,其中,,,则码书设计过程就是需求把训练矢量集分成个子集的一种最佳聚类方案,而子集的质心矢量作为码字。假设平方误差测度用来表征训练矢量和码字之间的失真,即:则码书设计的准则可用下列数学形式表达:最小化约束条件,其中为矩阵,其元素满足:矩阵可看作训练矢量的聚类结果。根据,可计算码字:其中代表子集中训练矢量的数目,或者说是矩阵第行中非零元素的数目。针对训练矢量集为,其LBG算法的具体步骤如下,流程图如图2.2所示:图2.2步骤1:

3、给定初始码书,令迭代次数,平均失真,给定相对误差门限。步骤2:用码书中的各码字作为质心,根据最佳划分原则把训练矢量集划分为个胞腔,满足步骤3:计算平均失真判断相对误差是否满足若满足,则停止算法,码书就是所求的码书。否则,转步骤4。步骤4:根据最佳码书条件,计算各胞腔的质心,即由这个新质心形成新码书,置,转步骤2。3.实验方法:在对同一幅琳娜(Linna)图像进行矢量量化时,分别采用在不同的码书条件下:512、256、1024观察比较相应的结果。三、程序代码clearall;I=imread('C:linna.JPG');g=rgb2gray(I);imwrite

4、(g,'C:UsersJohnson_LiDesktopMr.Li.JPG','JPG')data=imread('Mr.Li.JPG');%调入原始图像data=double(data)/255;%归一化[m,n]=size(data);%求出图像的行数和列数figure(1)subplot(1,2,1);imshow(data);%显示原始图像title('原始图像')subplot(1,2,2);imhist(data);%用以提取图像中的直方图信息title('直方图')siz_word=4;%设置码字的大小siz_book=512;%设置码书的大

5、小data1=zeros(m*n,1);fori=1:mforj=1:ndata1((i-1)*n+j)=data(i,j);endendM1=floor(m*n/siz_word);r=mod(m*n,siz_word);ifr>0M1=M1+1;enddata2=zeros(M1,siz_word);l=1;A=zeros(siz_word,1);r=1;fori=1:m*nA(r)=data1(i);ifr==siz_worddata2(l,:)=A;l=l+1;r=1;elser=r+1;endendcode_book=zeros(siz_book,siz

6、_word);%LBG算法开始%初始化码书l=1;r=1;A=zeros(siz_word,1);fori=1:siz_book*siz_wordA(r)=data1(i);ifr==siz_wordcode_book(l,:)=A;l=l+1;r=1;elser=r+1;endendMIU=zeros(M1,siz_book);t=1;whilet==1fori=1:M1B=zeros(siz_word,1);B=data2(i,:);A=zeros(siz_word,1);A=code_book(1,:);tep=0.0;forl=1:siz_wordtep=

7、tep+(A(l)-B(l))^2;endr=1;forj=2:siz_bookA=code_book(j,:);temp=sum((A-B).^2);iftemp

8、>0cod

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。