【方块编码】基于matlab的图像方块编码仿真

1.软件版本

matlab2013b

2.系统概述

方块编码也叫方块截断编码(block truncation coding,简称BTC)是静态图像编码中的一种, 其原理是把一幅图像分为大小为N×N的子像块(简称子块),由于小块内各相邻像素间具有亮度互相近似的相关性,于是只选用两个适当的亮度来近似代表小块内各像素原来的亮度,然后指明子块内的各像素分别属于哪个亮度。

静态图像编码是研究怎样利用图像固有的统计特性(信源特性),以及视觉的生理学、心理学特性(信宿特性),或者记录设备(如普通照相底片)和显示设备(如电视、监示器)等的特性,经过压缩编码从原始图像信息中提取出有效信息,尽量去掉那些无用的冗余信息,以便高效率地进行图像的数字传输或数字存储;而在复原时仍能获得与原始图像相差不多的复原图像,即保持图像信息中的有效信息。

3.部分源码

登录后复制

function code(tp,I)fd=fopen('btc.bin','w+');[m,n]=size(I);fwrite(fd,m,'long');fwrite(fd,n,'long');I=double(I);A=zeros(tp);B=zeros(tp);c(1)=0;for i=1:tp:m    for j=1:tp:n        A=I(i:i+tp-1,j:j+tp-1);        sum_col_A=sum(A,1);   %子块按列求和        sum_A=sum(sum_col_A,2);   %子块矩阵的和        mean_A=mean2(A);    %子块的均值        for L=1:tp            for k=1:tp                if A(L,k)>=mean_A                   B(L,k)=1;                else                   B(L,k)=0;                end            end        end        nozeronum=nnz(B);  %映像矩阵中非0元素的个数        AmulB=times(A,B);        sum_AmulB=sum(sum(AmulB(:,:),1),2);        if nozeronum==0            c(1)=0;            c(2)=0;        else            c(1)=round(sum_AmulB/nozeronum);  %子块矩阵中的重建电平            if nozeronum==tp*tp                c(2)=c(1);            else                c(2)=round((sum_A-sum_AmulB)/(tp*tp-nozeronum));            end        end        fwrite(fd,B,'ubit1');        fwrite(fd,c,'ubit8');    endendfclose(fd);fd=fopen('btc.bin','r');m=fread(fd,1,'long');n=fread(fd,1,'long');A=zeros(m,n);for i=1:tp:m    for j=1:tp:n        B=fread(fd,[tp,tp],'ubit1');        c(1)=fread(fd,1,'ubit8');        c(2)=fread(fd,1,'ubit8');        for k=1:tp            for L=1:tp                if B(k,L)==0                    A(i+(k-1),j+(L-1))=c(2);                else                    A(i+(k-1),j+(L-1))=c(1);                end            end        end    endendA=uint8(A);imshow(A);title('用方块编码后图象')imwrite(A,'lenabianma.bmp');fclose(fd);                1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.

4.仿真结果

2*2

【方块编码】基于matlab的图像方块编码仿真_大数据

4*4

【方块编码】基于matlab的图像方块编码仿真_大数据_02

8*8

【方块编码】基于matlab的图像方块编码仿真_大数据_03




免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空