精华内容
下载资源
问答
  • 反卷积算法复原图像matlab实现,有着详细的注释和解释,可以让人很好读懂。
  • Matlab:盲反卷积还原失焦图像

    万次阅读 多人点赞 2018-05-17 08:39:25
    Matlab:盲反卷积还原失焦图像 目录 输出结果 实现代码 输出结果 实现代码 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 盲反卷积还原失焦图像 % % % %%%%%%%%%%%%...

    Matlab:盲反卷积还原失焦图像

     

     

    目录

    输出结果

    实现代码


     

     

    输出结果

     

     

    实现代码

     

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %       盲反卷积还原失焦图像             %
    %                                       %
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    
    I = imread('G:\BaiduNetdiskDownload\5.jpg');
    I=rgb2gray(I)
    PSF=fspecial('gaussian',7,30);
    Blurred=imfilter(I,PSF,'symmetric','conv');  
    figure;imshow(Blurred);title('失焦图像');   
     
     
    UNDERPSF = ones(size(PSF)-4);
    [J1 P1] = deconvblind(Blurred,UNDERPSF);
    figure;imshow(J1);title('Deblurring with Undersized PSF'); 
       
    OVERPSF = padarray(UNDERPSF,[4  4],'replicate','both');
    [J2 P2] = deconvblind(Blurred,OVERPSF);
    figure;imshow(J2);title('Deblurring with Oversized PSF');     
    INITPSF = padarray(UNDERPSF,[2 2],'replicate','both');
    [J3 P3] = deconvblind(Blurred,INITPSF);
    figure;imshow(J3);title('Deblurring with INITPSF');  
       
    figure;
    subplot(221);imshow(P1,[],'InitialMagnification','fit');
    title('重建 Undersized PSF');
    subplot(222);imshow(P2,[],'InitialMagnification','fit');
    title('重建 Oversized PSF');
    subplot(223);imshow(P3,[],'InitialMagnification','fit');
    title('重建  init PSF');  
     
       
    WEIGHT = edge(I,'sobel',.3);  
    se = strel('disk',2);
    WEIGHT = 1-double(imdilate(WEIGHT,se));  
     
    WEIGHT([1:3 end-[0:2]],:) = 0;
    WEIGHT(:,[1:3 end-[0:2]]) = 0;
    figure;imshow(WEIGHT);title('Weight array'); 
    [J P] =                                  deconvblind(Blurred,INITPSF,30,[],WEIGHT);
    figure;imshow(J);title('复原图像');  
        
    P1 = 2;
    P2 = 2;
    FUN = @(PSF) padarray(PSF(P1+1:end-P1,P2+1:end-P2),[P1 P2]);  
    
    [JF PF] = deconvblind(Blurred,OVERPSF,30,[],WEIGHT,FUN);
    figure;imshow(JF);title('复原图像');   
    displayEndOfDemoMessage(mfilename) 
    展开全文
  • 本文关注数字信号的卷积、反卷积基本概念的理解与矩阵实现卷积LTI(线性时不变)系统常用卷积来表征。卷积的定义为: 这个描述加上公式,如同一记闷棍,直接把很多初学者打翻在地。类似的形式很多教材都在用,我当年...

    9835f6e4bb58905b07c9ad44715e4ac9.png

    本文关注数字信号的卷积、反卷积基本概念的理解与矩阵实现

    卷积

    LTI(线性时不变)系统常用卷积来表征。卷积的定义为:

    这个描述加上公式,如同一记闷棍,直接把很多初学者打翻在地。类似的形式很多教材都在用,我当年深受其害。

    下面提供一个思路来理清卷积与LTI的概念与关联。

    LTI (线性时不变系统)这个名字里就包含了它的两个关键概念。

    线性

    假设输入1,输出2。如果输入3,那么输出就是6。输入增加,输出等比例增加,就是线性。

    时不变

    如果t=0时刻输入x[0]=1,输出y[0]=2。那么t=1时刻输入x[1]=1, 输出y[1]=2。不同的时刻给以相同的输入,系统会做出相同的反应,就是时不变。

    卷积计算过程

    通过一个例子来理解一下计算过程(自己用笔写一下效果更好)。

    假设一个系统的冲激响应(impulse response)是h[n]=[3, 2, 1]。(为了简便使用整数)

    意思是如果输入x[0]=1,则输出y[0]=3; y[1]=2; y[2]=1。(就是这么拖泥带水,如果每个输入只产生一个输出,就用不到卷积了)

    如果给一串输入会怎样呢?例如x[n]=[2, 0, 1] ,过程是这样的:

    t=0: 输入x[0]=2,输出应为y[0]=6,(“线性”特点:输入翻倍,输出翻倍)

    t=1: 输入x[1]=0,无输入,对应无输出,但因为还残留对x[0]的响应,所以输出y[1]=4

    t=2: 输入x[2]=1,对应输出y[2]=3,(“时不变”特点:无论何时输入同样的内容,会有同样的响应),同时系统此时仍残留对x[0]的响应为2,所以最终输出y[2]=3+2=5.(再次应用“线性”特点)

    t=3/t=4时刻,系统已没有输入,只有残留的对x[2]的响应,所以输出y[3]=2, y[4]=1.

    所以结果是,x[n]=[2, 0, 1]输入到冲激响应为h[n]=[3, 2, 1]的系统中,产生了输出y[n]=[6, 4, 5, 2 ,1]。这个结果与应用卷积公式算得的结果是一样的。

    所以卷积并不是什么神奇的操作,本质是一个时刻的输入产生一串输出,它下一时刻的输出叠加(线性)到对下一时刻的输入的响应(时不变)上了。或者换个说法是,当前时刻的输出,除了对当前输入的响应之外,还要加上之前输入的影响。

    反卷积

    反卷积就是卷积的逆运算,已知输出y[n]和冲激响应h[n],求输入x[n]的过程,或者已知输入输出求冲激响应。过程不赘述。

    卷积与反卷积的矩阵实现

    根据前面所说的卷积计算概念,可以有以下两种实现方法:

    dd9e342b52952516900da58cde6b915e.png

    7d40222a2a7beeb9efcff1e596eabace.png

    这两种方法是等价的,对于复杂输入和响应,这样计算就太费劲了。而矩阵计算是自带乘积求和属性的,所以借助计算机来用矩阵来计算卷积是非常方便的。

    可以通过构造输入矩阵或者响应矩阵来实现上面两种计算方法:

    而对于反卷积,就是求逆运算

    上面的例子不能直接逆运算,因为H不是方阵,没有逆。但如果我们将t=3/t=4时刻的输出去掉(因为这时输入已经结束了)。

    逆运算直接用matlab或octave计算:

    >> H

    H =

    3 0 0

    2 3 0

    1 2 3

    >> y

    y =

    6

    4

    5

    >> x=inv(H)*y

    x =

    2.00000

    0.00000

    1.00000

    总结

    这里为了说明方便使用了离散的整数数值,理解了核心概念,就可以将卷积的理解带入到连续信号、二维图像等应用中去。

    展开全文
  • 一本反卷积非常经典的书 希望能帮到有需要的朋友 非代码
  • 基于MATLAB并结合IBD算法的盲迭代反卷积法进行图像复原图像复原 盲迭代 反卷积 IBD PSF估计
  • 反转换 YouTube视频“带反卷积的音频恶作剧”中使用的Matlab代码 YouTube连结: :
  • 我有一个时变信号(时间,幅度)和测量的频率灵敏度(频率,幅度转换因子(Mf)) .我知道如果我使用时间信号的中心频率为我的信号选择幅度转换因子(例如0.0312),我得到最大值 . 转换后的振幅值为1.4383 ....

    我有一个时变信号(时间,幅度)和测量的频率灵敏度(频率,幅度转换因子(Mf)) .

    我知道如果我使用时间信号的中心频率为我的信号选择幅度转换因子(例如0.0312),我得到最大值 . 转换后的振幅值为1.4383 .

    我已经编写了一些代码来解卷时变信号和已知灵敏度(即所有频率) .

    其中Pt是输出/转换幅度,Mf是幅度转换因子数据,fft(a)是时变信号(a)的fft .

    我采用了fft(a)的真实部分:

    xdft = fft(a);

    xdft = xdft(1:length(x)/2+1); % only retaining the positive frequencies

    freq = Fs*(0:(L/2))/L;

    其中Fs是采样频率,L是信号长度 .

    convS = real(xdft).*Mf;

    假设Mf是幅度=真实(我没有阶段信息) . 我也插入

    Mf=interp1(freq_Mf,Mf_in,freq,'cubic');

    所以在与频率相同的审讯点 .

    然后我使用以下方法在时域中重建信号:

    fftRespI=complex(real(convS),imag(xdft));

    pt = ifft(fftRespI,L,'symmetric')

    我在哪里使用fft(a)的虚部 .

    重建的信号形状看起来是正确的,但信号的幅度不是 .

    如果我为f = 0..N MHz设置Mf = 0.0312的所有值,我期望最大值 . 转换幅度值~1.4383(类似于我使用中心频率),但我得到13.0560 .

    如何校准振幅轴?即如何正确地将fft(a)乘以Mf?

    一些改进的理解abs(幅度)和实际FFT的y轴将有助于我,我认为......

    谢谢

    展开全文
  • niuB的网络反卷积技术

    2010-09-24 11:11:28
    这是CVPR2010的牛人编写的基于matlab的图像反卷积网络技术的学习训练代码
  • 这是一个基于matlab图像复原处理包,其中包括图像的模糊、维纳滤波、盲反卷积、点扩散函数和光学转换函数互相转化
  • MATLAB卷积

    千次阅读 2019-04-14 10:35:42
    文章目录卷积相关卷积定理卷积与互相关,自相关函数的关系卷积...反卷积:deconv(y,h)=x 相关卷积定理 卷积与互相关,自相关函数的关系 条件:假设系统的输入,输出,和单位脉冲响应分别为x(n), y(n), h(n). R...

    卷积的物理意义

    输入信号通过一个新兴因果移不变系统后的输出为信号与该系统的冲击响应的卷积。任何一个信号都可以表示为单位冲击信号之和。

    相关卷积定理

    卷积与互相关,自相关函数的关系

    条件:假设系统的输入,输出,和单位脉冲响应分别为x(n), y(n), h(n).
    Rxy(m) = Rxx(m)*h(m)
    对上式进行傅里叶变换,得:
    Sxy(w) = Sxx(w)*H(jw)

    卷积与单位脉冲响应的关系

    x(t)*δ(t) = x(t)
    x(t)*δ(t-t0) = x(t-t0)

    卷积的计算

    卷积向量表示形式

    一方不动,另一方前后倒置,从左向右移动,每次移动后重叠部分的乘积,再组合起来即输出信号

                      h1  h2  h3
    x4  x3  x2  x1
    

    已知:
    输入信号:x=[x1,x2,x3,x4] 维度:4
    系统响应:h=[h1,h2,h3] 维度:3
    输出信号:y=[y1,y2,y3,y4,y5,y6] 维度:4+3-1=6

    其中:

    y1=x1*h1
    y2=x1*h2+x2*h1
    y3=x1*h3+x2*h2+x3*h1
    y4=x2*h3+x3*h2+x4*h1
    y5=x3*h3+x4*h2
    y6=x4*h3
    

    卷积矩阵表达形式

    将上式写成矩阵形式:
    法一:
    在这里插入图片描述
    法二 :
    在这里插入图片描述

    基于法一,用MATLAB求X矩阵的三种方法

    
    % 功能:用上述的法一用三种方法求X大矩阵
    
    % 编辑者:lily
    % 日期:2019,4,14
    
    clear;
    clc;
    close all;
    % ======================= input signal ==========================
    x=[1,2,3,4];
    h=[5,6,7];
    %求矩阵的向量个数
    xn=size(x,2);%求矩阵列数,即几个
    hn=size(h,2);
    % ============================ 方法1 ====================================
    % 原理:按列放
    X=zeros(xn+hn-1, hn);%初始化大矩阵
     
    % 观察列的补0规律,求大矩阵X
    for  ind=1:hn
          xi= [zeros(hn-ind,1);x';zeros(ind-1,1)];
          X(:,ind)=xi;
    end
     
    Y_noconv=X*rot90(h);
    Y_noconv = Y_noconv';
    conv=conv(x,h);
    % ============================ 方法2 ====================================
    % 原理:元素一个一个放
    X=zeros(xn+hn-1, hn);%初始化大矩阵
    for c = hn:-1:1       % 换列
      s = hn - c + 1;     % 从第几行开始放
      m = 1;
      for r = s:s + xn - 1 % 换行放元素
        X(r,c) = x(m);
        m = m + 1;
      end
    end
    % ============================ 方法3 ====================================
    % 原理:circshift(x, A).将列矩阵往下移动A个数,将其挪到上面
    
    %第一列的0的个数
    Mzeros=zeros(1, hn-1);
    %第一列元素
    Xvec=[Mzeros, x]';
    %构造大矩阵
    Xmat = [Xvec];
    for c = 1:hn-1
      Xvec_shift = circshift(Xvec, -c);
      Xmat = [Xmat,Xvec_shift];
    end
    
    

    线性系统三个参数,已知两个求另外一个

    条件:假设系统的输入,输出,和单位脉冲响应分别为x(n), y(n), h(n).

    % 功能:输入信号:x,系统响应h,输出信号y。根据两个求一个
    % 用conv,deconv函数,或者写出大矩阵,用矩阵乘法求解
    
    % 编辑者:lily
    % 日期:2019,4,14
    
    clear;
    clc;
    close all;
    % ============================ 已知x,h,求y ====================================
    
    x=[1,2,3,4];
    h=[5,6,7];
    y = conv(x,h);  % or y = conv(h,x);
    
    % ============================ 已知x,y,求h ====================================
    h1 = deconv(y,x);
    % ============================ 已知h,y,求x ====================================
    x1 = deconv(y,h);
    
    展开全文
  • 对于一个反卷积系统,当系统输入噪声未知时,提出一种信息融合估计算法。该算法的核心是自回归滑动平均模型(ARMA)模型和Gevers-Wouters算法。应用该算法可以得到对未知输入噪声和未知滑动平均参数的局部和融合估计,并...
  • 反卷积原理 + pytorch反卷积层参数output_padding

    万次阅读 多人点赞 2019-01-24 14:35:22
    参考:https://cn.mathworks.com/help/matlab/ref/conv2.html? same和valid相信各位同学都不陌生。Valid指不进行padding操作,而same则是通过padding使得卷积之后输出的feature map尺寸保持不变(相对于输入图...
  • 为了快速、准确地在轨估算空间光学遥感成像系统的点扩展函数(PSF),提出了基于多通道盲反卷积(MBD)的估算方法,避免了以往方法依赖靶标及时间开销大等缺点。从单幅遥感图像中,提取多幅具有局部一致背景的目标子...
  • Matlab卷积傅里叶变换的问题

    千次阅读 2014-10-08 20:38:20
    为什么两个二维的矩阵的卷积结果却不等于他们傅里叶变换后乘积的傅里叶逆变换呢?理论上是相等的,用一维矩阵验证是相等的啊困惑?望高手赐教!谢谢! 二维的用conv2,fft2和iff2来做,conv和fft的区别是需要设置维...
  • CT的卷积反投影

    2013-05-22 16:33:26
    卷积反投影的matlab程序,能够对matlab自己生成的头部幻影图进行卷积反投影
  • matlab计算连续函数卷积的表达式

    万次阅读 2018-11-11 19:05:32
    卷积计算起来较为繁琐, 若能够用matlab辅助计算则会简单很多. 通过使用卷积定理和MATLAB符号函数, 便可以计算连续函数的卷积表达式. 本文主要包括如下几个部分: 1. 利用符号函数计算Fourier变换和Fourier变换 ...
  • 反卷积(Deconvolution)、上采样(UnSampling)与上池化(UnPooling)的对比图示如下(图片出处见水印):对比图上采样(UnSampling)FCN、U-net等网络结构中都有使用上采样。上采样是指使图像分辨率变高的方法。最简单的方式...
  • 摘要:X-CT(即X射线计算机断层成像)图像重建的卷积反投影原理对医学影像专业学生较为抽象难懂,本文在简化条件下采用图解法较为系统地描述该原理,达到直观易懂的目的。1 X-CT图像重建的卷积反投射原理X-CT成像原理...
  • 图解卷积

    2019-03-12 09:40:35
    卷积,重点就是 摺,平移,相乘,累计求和,卷积后的c(n)中的n就是平移后的步数。 用matlab验证一下 1、欢迎大家关注我的微信公众号: xiaoshi_IC,小石谈IC; 2、2018年4月建号以来,已陆续完成了PCB系列的培训...
  • 符号变换 Fourier变换及其变换 fourier()是算符号表达式的傅里叶变换的,算出来结果要画图可以用ezplot(); 【例 1】求 的 Fourier 变换。
  • 根据时域圆周移位特性 可得 即X1(k)={7,2+3j,-1-2j,-j} 5.2. 6 X(k)={7,2+3j,-1-2j,-j} 5.2.3 ... 8 式中[x1(n) x2(n)]表示序列x1(n)和x2(n)的时域圆周卷积也称为循环卷积简称圆卷积其定义式如下 5.2. 9 x1(n) 我们称
  • matlab开发-AntiWindupPIDExample。在这个例子中,提出了反卷积的概念及其重要性。
  • matlab实现维纳滤波盲反卷积迭代算法
  • matlab噪声处理

    2012-11-26 11:55:36
    matlab 小程序 分别有加入噪声,加入模糊, wiener滤波、regularized 滤波、Lucy-richardson 滤波、盲反卷积滤波、AverageFilter和MedianFilter去模糊
  • 目录仿真结果卷积码原理图删余后性能比较常用的删余码仿真代码根据码率生成打孔参数(子函数)将标准(2, 1, 6)编码后的序列进行打孔,生成删余码(子函数)对接收到的序列进行打孔,将原来打孔删除的比特进行补零(子...
  • 数字信号处理——基于计算机的方法(一)第二章 时域中的离散时间信号集合平均卷积复数...可以使用matlab中的卷积函数conv() 运行结果: 复数序列的共轭()对称 运行结果: 因此可以看出,共轭对称序列的实部
  • matlab程序 AR-MED.zip

    2020-02-06 12:00:47
    应用自回归AR滤波器滤波器后,信号使用最小熵反卷积,结合谱分析来增强滚动轴承的故障检测和诊断。主要用于通过振动信号诊断轴承故障。
  • matlab 采用lucy-richardson方法对图像进行变换
  • conv 多项式乘、卷积 cool 青紫调冷色图 copper 古铜调色图 cos 余弦 cosh 双曲余弦 cot 余切 coth 双曲余切 cplxpair 复数共轭成对排列 csc 余割 csch 双曲余割 cumsum 元素累计和 cumtrapz 累计梯形...

空空如也

空空如也

1 2 3 4 5
收藏数 94
精华内容 37
关键字:

反卷积matlab

matlab 订阅