matlab 模糊图像处理 - CSDN
  • matlab图片模糊处理

    2019-04-28 14:37:19
    具体实现的函数和思路

    具体实现的函数和思路

    展开全文
  • 典型的图像算法用到高斯金字塔的概率较大, 在构造高斯金字塔的过程中其中一个步骤就是进行高斯模糊,利用MATLAB实现一张图片的高斯模糊,仅仅通过修改尺度因子便能对图像进行不同程度的模糊
  • 2.设计模糊增强算子,在模糊集域对图像进行处理。 3.根据第1步的隶属度函数重新将图像模糊集域变换到空间域。 这和频域处理中的变换反变换不是很像么。 我使用的隶属度函数和模糊增强算子在这篇论文里,也算...

    算法有很多变种。不过主要就是以下三步。

    1.设计隶属度函数将图像从空间域变换到模糊集域。

    2.设计模糊增强算子,在模糊集域对图像进行处理。

    3.根据第1步的隶属度函数重新将图像从模糊集域变换到空间域。

    这和频域处理中的变换反变换不是很像么。

    我使用的隶属度函数和模糊增强算子在这篇论文里,也算相关算法的经典论文了。

    处理结果如下:

    原图:

    模糊集增强后:

    matlab代码如下:

    clear all; close all; clc;
    
    img=double(imread('lena.jpg'));
    imshow(img,[])
    [m n]=size(img);
    
    Fe=1;  %控制参数
    Fd=128;
    
    xmax=max(max(img));
    u=(1+(xmax-img)/Fd).^(-Fe);     %空间域变换到模糊域
    
    %也可以多次迭代
    for i=1:m                       %模糊域增强算子
       for j=1:n
          if u(i,j)<0.5
            u(i,j)=2*u(i,j)^2; 
          else
            u(i,j)=1-2*(1-u(i,j))^2;
          end
       end
    end
    
    img=xmax-Fd.*(u.^(-1/Fe)-1);    %模糊域变换回空间域
    
    figure;
    imshow(uint8(img));

     

    展开全文
  • 一.原理 1.公式 r: 模板的半径,模板矩阵的尺寸就是 [ 2r+1 ][ 2r+1 ], 模板最好是奇数 ...Y:阈值函数,范围在[0,255] ...xi: 当前矩阵中的全部元素.... 当 xi 进行加减运算时,是对矩阵每个元素单独加减....

    一.原理

    1.公式

     

    r:  模板的半径,模板矩阵的尺寸就是  [ 2r+1 ][ 2r+1 ],   模板最好是奇数

    Y:阈值函数,范围在[0,255]

    x:输入值,当前检测的像素点

    xout:输出值,作为计算结果,覆盖掉x

    xi: 当前矩阵中的全部元素.   

    •        当 xi 进行加减运算时,是对矩阵每个元素单独加减.结果还是一个矩阵.

    w=1 - abs (imgn( i - r:i + r , j - r:j + r ) - imgn( i , j )) / ( 2.5 * T ) ;

    的结果 w (式子中 未累加的分母) 是一个[2r+1][2r+1]的矩阵

    •         当 xi 进行乘除运算时,也是对矩阵每个元素单独加减.即   点乘.*    点除 ./

    2.模板矩阵

    举例,半径r=3px,矩阵=[7][7]

     

    3.扩展矩阵

    为了边界扩展,生成一个 imgn 矩阵来容纳 img 和边界

    依次填充:

     

    二.代码 

    Surface Blur.m

    function [img] = SurfaceBlur(A,r,T)
    %UNTITLED10 此处显示有关此函数的摘要
            %srcData:源图像
            %r:半径
            %T:阈值
            %
    %   此处显示详细说明
    
    w=zeros(2*r+1,2*r+1);   %模板矩阵的尺寸
    
    %图像初始化处理
    img=rgb2gray(A);                                        %源图片转灰度图
    subplot(1,2,1),imshow(img);title("原图");
    img=double(img);                                        %转为矩阵
    
    %解决边界值问题
    [m,n]=size(img);                                        
    imgn=zeros(m+2*r,n+2*r);                                %创建一个长宽各增加[2r]的扩容矩阵
    imgn(r+1:r+m,r+1:r+n)=img;
    
    imgn(1:r,r+1:r+n)=img(1:r,1:n);                         %上边界填充
    imgn(1:m+r,n+r+1:n+2*r)=imgn(1:m+r,n+1:n+r);            %右边界填充
    imgn(m+r+1:m+2*r,r+1:n+2*r)=imgn(m+1:m+r,r+1:n+2*r);    %下边界填充
    imgn(1:m+2*r,1:r)=imgn(1:m+2*r,r+1:2*r);                %左边界填充
    
    %开始计算每个像素,共计算m*n次
    for i=r+1:r+m
        for j=r+1:r+n   %遍历imgn 中部的源img部分
            %计算式子的分母
            w=1-abs(imgn(i-r:i+r,j-r:j+r)-imgn(i,j))/(2.5*T);   %w是一个以img中的元素为核心,size=[2r+1][2r+1]的矩阵,这样的模板会计算m*n次
            
             %灰度值溢出检查
            for p=1:2*r+1 
                for q=1:2*r+1              
                    if w(p,q) <=0
                        w(p,q)=0;
                    end
                end
            end
            
            %计算式子的分子
            s=w.*imgn(i-r:i+r,j-r:j+r); 
            %计算总式
            imgn(i,j)=sum(sum(s))/sum(sum(w));      %一个sum()对一维数组求和,sum(sum())就是对二维矩阵求和  
        end
    end
    
    img=imgn(r+1:r+m,r+1:r+n);  %从imgn截取出源img部分
    subplot(1,2,2),imshow(mat2gray(img));title("SurfaceBlur算法后");
    end

    调用该函数

     

    输出结果:

     

    展开全文
  • , 这个应用可以在很大程度上消除相机拍摄图像的抖动模糊。效果图如下: 效果虽然不算完美,但是也很令人惊讶。 一直以来对这个领域了解不是很多,今天看到这个,就在网上搜索

    原文地址:http://www.bfcat.com/index.php/2012/10/deblur/

    今天看到新浪微博上面转发的一个应用叫做 Enhance!, 这个应用可以在很大程度上消除相机拍摄图像的抖动模糊。效果图如下:





    效果虽然不算完美,但是也很令人惊讶。

    一直以来对这个领域了解不是很多,今天看到这个,就在网上搜索了一下这方面的资料。看到香港中文大学的Jiaya Jia以及美国哥伦比亚大学CAVE实验室这方面的研究主页。

    下面两个都是Jiaya Jia的项目主页:

    http://www.cse.cuhk.edu.hk/~leojia/projects/motion_deblurring/index.html

    http://www.cse.cuhk.edu.hk/~leojia/projects/robust_deblur/index.html

    没有仔细看他们的论文,但是通过一些介绍,可以了解到,简单的图像模糊可以看作是模糊核与原始图像进行了卷积,因此模糊核估计是图像去模糊的一个重要部分。如果模糊核已知,那么算法就退化为Non-blind Image Deconvolution。

    Jiaya Jia的方法主要是针对一张已经有了运动模糊的图像,算法分为 模糊核估计以及图像恢复两个步骤,这两步构成了一个迭代优化框架。即首先估计模糊核,然后对图像恢复,然后重新估计模糊核,恢复图像,最终直到收敛。他们的另一个主要贡献在于分析了造成图像模糊的多种因素,进而提出了估计模糊核更好的概率模型。

    这是他们在SIGGRAPH2008的文章结果之一,效果已经相当好了。


    哥伦比亚大学的这个项目主页要更老一些,2004年的

    http://www1.cs.columbia.edu/CAVE/projects/motion_deblur/motion_deblur.php

    这个项目中,作者发明了一种混合相机,通过均衡时间分辨率与空间分辨率来进行相机运动的预测,从而更好的估计出点扩散方程(PSF)。也就是运动模糊的模糊核。







    展开全文
  • 下面为大家介绍一下如何利用inline和blkproc函数对图像进行模糊度采集和显示,具体步骤如下: 1、首先打开MATLAB,在其主界面的编辑器中写入下列代码: B=imread('tire.tif'); %读取图片 g=inline('uint8(round...
  • MATLAB模糊图像处理计算速度方向和大小的资料和程序。
  • matlab运动模糊图像复原matlab运动模糊图像复原matlab运动模糊图像复原matlab运动模糊图像复原matlab运动模糊图像复原
  • 《精通MATLAB图像处理 第2版 》紧密结合实例 以实用为目标来讲述MATLAB图像处理技术 在简要介绍图像处理的基础理论之后 重点讲述应用MATLAB图像处理工具箱 并给出了大量的实例及综合实战应用 《精通MATLAB图像处理...
  • 基于matlab模糊图像复原,复原模糊图像为运动模糊图像,复原采用3种方法,维纳滤波 最小二乘 RC。
  • 《数字图像处理-MATLAB》运动模糊图像复原 图像复原技术也常被称为图像恢复技术图像复原技术能够去除或减轻在获取数字图像过程中发生的图像质量下降(退化)问题,从而使图像尽可能地接近于真实场景
  • 这是我用Matlab写的,用维纳滤波处理运动模糊,请高手指点一下,希望对大家有帮助
  • 由于这段时间在做一个图像处理与三维重建的项目,其中数字图像处理的知识是必不可少的,学习matlab也有一段时间了,所以现在抽点时间将这段时间所学的东西做个小总结,加深理解的同时也方便以后有需要时可以查看一下...
  • 利用的是MATLAB的工具箱,但各个参数的设置我都研究了一段时间,也参考了萨冈雷斯的关于图像处理的著作。程序前半部分不含噪声用了四种滤波法,后半部分加入了噪声干扰,也做了一些简单的分析 。希望对有需要的朋友...
  • (注:本文代码大部分可从《数字图像处理 第三版》中找到)使用软件:MATLAB R2018a学习前提:了解matlab的GUI界面的每个按钮参考资料:《数字图像处理 第三版》,CSDN博客使用初音图片P站画师uid:1589657。...
  • 精通MATLAB图像处理

    2019-04-01 17:25:02
    第一部分:MATLAB图像处理基础 第一章:MATLAB基础知识 第二章:MATLAB矩阵及其运算 第三章:MATLAB图像处理基础 第一章:MATLAB基础知识 1.1 MATLAB概述与桌面操作 1、matlab将数值分析、矩阵计算、科学...
  • 图像在形成、记录、处理和传输过程中,由于成像 系统、记录设备、传输介质和处理方法的不完善, 会导致图像质量下降。这一过程称为图像的退化。 引起图像质量下降的客观因素 − 成像系统的像差、畸变、带宽有限等...
  • 图像增强处理技术一直是图像处理领域一类非常重要的基本图像处理技术.图像增强是采用一些技 术手段 ,有选择地突出图像中感兴趣的特征或抑制图像中某些不需要的特征,使之改善图像质量、 丰富信 息量 ,加强图像判读和...
  • matlab的GUI对图像处理

    2020-07-30 23:33:33
    基于matlab的GUI对本地图像读取、保存本地、几何变换(缩小放大和裁剪图像)、图像增强、五种边缘检测方法
  • MATLAB中GUI图像处理

    2015-01-01 17:50:13
    matlabgui图像处理
1 2 3 4 5 ... 20
收藏数 6,682
精华内容 2,672
热门标签
关键字:

matlab 模糊图像处理