标准DPCM编码(Matlab实现)
2015-11-12 10:40
423 查看
以下代码中,f代表源码,f1代表预测码,e代表预测码与源码差值,en代表变换后的差分值(通过含e的公式计算得到,因为有特定对应值,也可以通过查表实现)。f2是通过变换后的差分值得到的预测码。
最终输出的结果是en,也就是变换后的差分值。
最终输出的结果是en,也就是变换后的差分值。
function en = my_dpcm(f) [~,n] = size(f); f1 = zeros(1,n); f2 = zeros(1,n); e = zeros(1,n); en = zeros(1,n); f1(1) = f(1); f1(2) = f(1); e(1) = 0; en(1) = 0; f2(1) = f(1); for i = 2:n if(i~=2) f1(i) = ( f2(i-1)+f2(i-2) )/2; end e(i) = f(i) - f1(i); en(i) = 16*trunc((255 + e(i))/16)-256+8; f2(i) = en(i) + f1(i); end end function a = trunc(b) if(b>0) a = floor(b); elseif (b<0) a = ceil(b); else a = 0; end end
相关文章推荐
- matlab使用小波变换进行图像融合
- Matlab 几种卷积的实现与比较(conv与filter,conv2与filter2)
- matlab的m文件关联方法
- 均值,方差,协方差三者的关系以及协方差矩阵
- Matlab 最大值滤波 中值滤波 最小值滤波 ordfilt2
- matlab图形句柄属性总结
- matlab画甘特图(用任意多颜色表示任意多工件)
- 用matlab批量重命名文件
- 数值分析 反幂法求矩阵按模最小特征值 MATLAB实现
- 用matlab批量重命名文件(保留下划线前字符)
- 用matlab 将图片序列导出视频
- matlab学习笔记(三)---图像的代数运算
- Sublime 中对 matlab 文件语法高亮(Highlighting)
- matlab使用
- matlab中save函数使用
- 探索MATLAB循环语句内部的变量
- matlab slider和edit控件
- 多项式拟合——用Matlab实现并分析
- Matlab中image、imagesc和imshow函数用法解析
- VLFeat和Piotr’s Image & Video Matlab Toolbox