您现在的位置:首页 >> 图像处理 >> 内容

m基于matlab的图像方块编码仿真,输出编码后PSNR图像质量指标

时间:2023/1/27 22:08:07 点击:

  核心提示:09_009_m,包括程序操作录像+参考文献...

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

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
  • 没有相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168