1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y56Ympdq
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
方块编码也叫方块截断编码(block truncation coding,简称BTC)是静态图像编码中的一种, 其原理是把一幅图像分为大小为N×N的子像块(简称子块),由于小块内各相邻像素间具有亮度互相近似的相关性,于是只选用两个适当的亮度来近似代表小块内各像素原来的亮度,然后指明子块内的各像素分别属于哪个亮度。静态图像编码是研究怎样利用图像固有的统计特性(信源特性),以及视觉的生理学、心理学特性(信宿特性),或者记录设备(如普通照相底片)和显示设备(如电视、监示器)等的特性,经过压缩编码从原始图像信息中提取出有效信息,尽量去掉那些无用的冗余信息,以便高效率地进行图像的数字传输或数字存储;而在复原时仍能获得与原始图像相差不多的复原图像,即保持图像信息中的有效信息。
4.部分源码
....................................................................
global oldbuf; %定义数组为全局变量
global M; %图像尺寸
global N; %图像尺寸
handle=get(gcf,'userdata');
set(gcf,'pointer','watch');
if Select==1
oldbuf=ReadImage(handle);
else
switch block %选择n*n子菜单
case 1 % 2×2 方块
n=2;
subplot(2,2,2); %确定显示区域
str='2×2 方块编码图像';
case 2 % 4×4方块
n=4;
subplot(2,2,3);
str='4×4 方块编码图像';
case 3 % 8×8方块
n=8;
subplot(2,2,4);
str='8×8 方块编码图像';
end
code(n,oldbuf)
end
set(gcf,'pointer','arrow');
%-------------------------------------------------------------------------
function oldbuf=ReadImage(handle);
% *************************************************************************
% 函数名称:
% ReadImage()
% 说明:
% 打开对话框,读入原图像。
% *************************************************************************
[FileName,PathName]=uigetfile({...
'*.BMP;*.JPG;*.JPEG;*.JPE;*.GIF;*.TIF;*.PNG';});
if isequal(FileName,0) | isequal(PathName,0)
FullFileName=CurrentFullFileName;
else
FullFileName=strcat(PathName,FileName);
subplot(2,2,1);
str='原图像';
oldbuf=imread(FullFileName);
imshow(oldbuf);
title(str);
set(handle(2),'Enable','on');
set(handle(3),'Enable','on');
set(handle(4),'Enable','on');
end
09_009_m