我们有这么一张灰度图64*64

我们能够定义出4096个基,各自是某一位是0其它是1,在这样的情况下,假设我们传输图片,那么就相当于传输原始数据

如果传到一半,网络坏了。

于是,我们得到

我们能够计算原图像和这图像的差距

error = I - I_approx; 

distance = sqrt(sum(sum(error.*error))) 

distance = 

713.5559

如果我们使用Haar基

function h = haar(N)

    % Assume N is power of 2
h = zeros(N,N);
h(1,1:N) = ones(1,N)/sqrt(N); for k = 1:N-1
p = fix(log(k)/log(2));
q = k-(2^p);
k1 = 2^p;
t1 = N/k1;
k2 = 2^(p+1);
t2 = N/k2;
for i=1:t2
h(k+1,i+q*t1) = (2^(p/2))/sqrt(N);
h(k+1,i+q*t1+t2) = -(2^(p/2))/sqrt(N);
end
end

然后,我们看一下仅仅接受一半的图片能够恢复成什么样子,这个东西能够用到图片压缩(PCA降维)

clear all
close all
clc % Load image
I = double(imread('camera.jpg')); % Arrange image in column vector
I = I(:); % Generate Haar basis vector (rows of H)
H = haar(4096); % Project image on the new basis
I_haar = H*I; % Remove the second half of the coefficient
I_haar(2049:4096) = 0; % Recover the image by inverting change of basis
I_haar = H'*I_haar; % Rearrange pixels of the image
I_haar = reshape(I_haar, 64, 64); % Display image
figure
imshow(I_haar,[]);

效果还能够

error = I - I_haar; 

distance = sqrt(sum(sum(error.*error))) 

distance = 

350.6765

Haar基是正交基

怎样将普通基变成正交基呢

线性代数中的拉格慕-施密特正交化即可

function E=gs_orthonormalization(V)
% V is a matrix where each column contains the vectors spanning the space of which we want to compute the orthonormal base
% E is a matrix where each column contains an ortho-normal vector of the base of the space [numberLines,numberColumns]=size(V); % U is a matrix containing the orthogonal vectors (non normalized)
U=zeros(numberLines,numberColumns); for indexColumn=1:numberColumns
U(:,indexColumn)=V(:,indexColumn); for index=1:(indexColumn-1)
R(index,indexColumn) =U(:,index)'*V(:,indexColumn);
U(:,indexColumn)=U(:,indexColumn)-R(index,indexColumn)*U(:,index);
end R(indexColumn,indexColumn)=norm(U(:,indexColumn));
U(:,indexColumn)=U(:,indexColumn)./R(indexColumn,indexColumn); end E=U; return

数字信号处理Day2-小波基与规范正交化的更多相关文章

  1. 数字信号处理--FFT与蝶形算法

    在数字信号处理中常常需要用到离散傅立叶变换(DFT),以获取信号的频域特征.尽管传统的DFT算法能够获取信号频域特征,但是算法计算量大,耗时长,不利于计算机实时对信号进行处理.因此至DFT被发现以来, ...

  2. 数字信号处理与音频处理(使用Audition)

    前一阵子由于考博学习须要,看了<数字信号处理>,之前一直不清除这门课的理论在哪里应用比較广泛. 这次正巧用Audition处理了一段音频,猛然发现<数字信号处理>这门课还是很实 ...

  3. 数字信号处理MATLAB简单序列

    数字信号处理应用的几个基本序列: 1 单位样本序列 function mainImseq() clc clear disp('生成抽样序列'); y=imseq(,,); %调用样本函数,此时序列下标 ...

  4. FPGA与数字信号处理

    过去十几年,通信与多媒体技术的快速发展极大地扩展了数字信号处理(DSP)的应用范围.眼下正在发生的是,以更高的速度和更低的成本实现越来越复杂的算法,这是针对高级信息服更高带宽以及增强的多媒体处理能力等 ...

  5. 数字信号处理专题(3)——FFT运算初探

    一.前言 FFT运算是目前最常用的信号频谱分析算法.在本科学习数字信号处理这门课时一直在想:学这些东西有啥用?公式推来推去的,有实用价值么?到了研究生后期才知道,广义上的数字信号处理无处不在:手机等各 ...

  6. 数字信号处理专题(1)——DDS函数发生器环路Demo

    一.前言 会FPGA硬件描述语言.设计思想和接口协议,掌握些基本的算法是非常重要的,因此开设本专题探讨些基于AD DA数字信号处理系统的一些简单算法,在数字通信 信号分析与检测等领域都会或多或少有应用 ...

  7. 现代数字信号处理——AR模型

    1. AR模型概念观       AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值,其目的都是为了增加有效数据,只是AR模型是由N点递推, ...

  8. 如何使用Matlab做数字信号处理的仿真1

    例如 第三版数字信号处理P51 -1.14习题时域离散信号的相关性研究x(n)=Asin(ωn)+u(n),其中ω=π/16,u(n)是白噪声,现要求 ⑴.产生均值为0,功率P=0.1的均匀分布白噪声 ...

  9. FS,FT,DFS,DTFT,DFT,FFT的联系和区别 数字信号处理

    DCT变换的原理及算法 文库介绍 对于初学数字信号处理(DSP)的人来说,这几种变换是最为头疼的,它们是数字信号处理的理论基础,贯穿整个信号的处理. 学习过<高等数学>和<信号与系统 ...

随机推荐

  1. iOS几种简单有效的数组排序方法

    第一种,利用数组的sortedArrayUsingComparator调用 NSComparator ,obj1和obj2指的数组中的对象 NSComparator cmptr = ^(id obj1 ...

  2. UICollectionView设置item(cell)之间间距为0(紧挨在一起的效果)

    UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; self.layout = layout ...

  3. linux术语解析(持续更新)

    1.linux内核有个版本,分别是 longterm: 提供长期支持的内核版本 stable: 稳定版本 Beta 测试版

  4. Ajax的工作流程简述

    提到Ajax相信我们都不会陌生,不管你是前端开发还是后台数据处理的程序员,ajax的作用就像现在生活中的手机一样,无论是作用还是流程都差不多,这里我们要进行ajax操作后台数据并显示在页面上的话,首先 ...

  5. Taxi Cab Scheme POJ && HDU

    Online Judge Problem Set Authors Online Contests User Web Board Home Page F.A.Qs Statistical Charts ...

  6. 激活office 2013

    1.下载office 2013激活工具:microsoft toolkit 2.解压文件,运行Microsoft Toolkit.exe,选择office,即箭头标识处

  7. Hibernate的CRUD

    1.CRUD: C:sesion.save() R:session.get()? session.load() D:session.delete() U:session.update() 2.读取数据 ...

  8. JQuery在光标位置插入内容

    (function($) { $.fn.extend({ insertAtCaret: function(myValue) { var $t = $(this)[0]; //IE if (docume ...

  9. php字符串常见面试题

    >> 本文固定链接: http://php.ncong.com/mianshi/mianshiti_string.html >> 转载请注明: 恩聪php 2014年09月02 ...

  10. 兄弟连王牌PHP课程送三重豪礼啦!

    兄弟连PHP就业办课程送三重豪礼啦! 惊喜一:报名9月23日班级,保障薪资直涨1000元! 9月报名学习,春节后就业,正是企业招聘的黄金高峰期,一年中拿到高薪最好的时节! 惊喜二:兄弟连云课堂900元 ...