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

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

1.算法仿真效果
matlab2022a仿真结果如下:
cc792f408c1c267f7ce4fb6ce0bc79ea_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要

   BTC编码又称方块编码,是一种有效,快速,简单的有损灰度图像数字压缩技术,具有性能高,信道容错力高等特点,在实时图像传输方面具有很高的应用价值,由美国普渡大学的Mitchell和Delphi教授提出.使用Mat-lab实现BTC编码.​

   方块编码也叫方块截断编码(block truncation coding,简称BTC)是静态图像编码中的一种, 其原理是把一幅图像分为大小为N×N的子像块(简称子块),由于小块内各相邻像素间具有亮度互相近似的相关性,于是只选用两个适当的亮度来近似代表小块内各像素原来的亮度,然后指明子块内的各像素分别属于哪个亮度。静态图像编码是研究怎样利用图像固有的统计特性(信源特性),以及视觉的生理学、心理学特性(信宿特性),或者记录设备(如普通照相底片)和显示设备(如电视、监示器)等的特性,经过压缩编码从原始图像信息中提取出有效信息,尽量去掉那些无用的冗余信息,以便高效率地进行图像的数字传输或数字存储;而在复原时仍能获得与原始图像相差不多的复原图像,即保持图像信息中的有效信息。

4e03024924980e4a7efc25e4ef85ceb3_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

    方块编码(英语:BlockTruncationCoding,缩写:BTC)是一种用于灰度图像的有损数据压缩算法。这种算法将图像分为以方块为单位,在每一方块中,在保持原有平均数和标准方差(即保持二阶矩)的同时,减少灰度等级,以达到压缩的目的。方块编码(英语:BlockTruncationCoding,缩写:BTC)是一种用于灰度图像的有损数据压缩算法。这种算法将图像分为以方块为单位,在每一方块中,在保持原有平均数和标准方差(即保持二阶矩)的同时,减少灰度等级,以达到压缩的目的。方块编码被认为是纹理压缩算法DXTC的前身;但在DXTC出现之前很久,方块编码已就被引入彩色图像的压缩,即色彩单 

ee95df635f526db9f111275ff01f2c15_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
3aa54c3056196190cff97ae240e6fd41_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

3.MATLAB核心程序

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 
相关文章
|
9天前
|
算法 数据安全/隐私保护 计算机视觉
基于Retinex算法的图像去雾matlab仿真
本项目展示了基于Retinex算法的图像去雾技术。完整程序运行效果无水印,使用Matlab2022a开发。核心代码包含详细中文注释和操作步骤视频。Retinex理论由Edwin Land提出,旨在分离图像的光照和反射分量,增强图像对比度、颜色和细节,尤其在雾天条件下表现优异,有效解决图像去雾问题。
|
9天前
|
算法 数据可视化 安全
基于DWA优化算法的机器人路径规划matlab仿真
本项目基于DWA优化算法实现机器人路径规划的MATLAB仿真,适用于动态环境下的自主导航。使用MATLAB2022A版本运行,展示路径规划和预测结果。核心代码通过散点图和轨迹图可视化路径点及预测路径。DWA算法通过定义速度空间、采样候选动作并评估其优劣(目标方向性、障碍物距离、速度一致性),实时调整机器人运动参数,确保安全避障并接近目标。
105 68
|
11天前
|
算法 JavaScript
基于遗传优化的Sugeno型模糊控制器设计matlab仿真
本课题基于遗传优化的Sugeno型模糊控制器设计,利用MATLAB2022a进行仿真。通过遗传算法优化模糊控制器的隶属函数参数,提升控制效果。系统原理结合了模糊逻辑与进化计算,旨在增强系统的稳定性、响应速度和鲁棒性。核心程序实现了遗传算法的选择、交叉、变异等步骤,优化Sugeno型模糊系统的参数,适用于工业控制领域。
|
11天前
|
算法 决策智能
基于遗传优化的货柜货物摆放优化问题求解matlab仿真
本项目采用MATLAB2022A实现基于遗传算法的货柜货物摆放优化,初始随机放置货物后通过适应度选择、交叉、变异及逆转操作迭代求解,最终输出优化后的货物分布图与目标函数变化曲线,展示进化过程中的最优解和平均解的变化趋势。该方法模仿生物进化,适用于复杂空间利用问题,有效提高货柜装载效率。
|
9天前
|
机器学习/深度学习 监控 算法
基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面
本项目基于YOLOv4深度学习网络,利用MATLAB 2022a实现排队人数统计的算法仿真。通过先进的计算机视觉技术,系统能自动、准确地检测和统计监控画面中的人数,适用于银行、车站等场景,优化资源分配和服务管理。核心程序包含多个回调函数,用于处理用户输入及界面交互,确保系统的高效运行。仿真结果无水印,操作步骤详见配套视频。
44 18
|
5月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
262 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
5月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
155 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
5月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
128 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
8月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)

热门文章

最新文章