zoukankan      html  css  js  c++  java
  • 利用matlab写一个简单的拉普拉斯变换提取图像边缘

    可以证明,最简单的各向同性微分算子是拉普拉斯算子。一个二维图像函数 f(x,y) 的拉普拉斯算子定义为

    其中,在 x 方向可近似为

    同理,在 y 方向上可近似为

    于是 我们得到满足以上三个公式的两个变量的离散拉普拉斯算子是

    拉普拉斯变换所对应的滤波器模板为:

    0 1 0
    1 -4 1
    0 1 0

     

     

     

     

     

    使用matlab利用拉普拉斯算子试着提取一下图像的边缘

    %使用拉普拉斯算子实现图像的边缘提取
    close all;clear all;clc;
    I=imread('liftingbody.png');
    I=im2double(I);
    [M,N]=size(I);
    B=zeros(size(I));
    for x=2:M-1
        for y=2:N-1
            B(x,y)=I(x+1,y)+I(x-1,y)+I(x,y+1)+I(x,y-1)-4*I(x,y);
        end
    end
    I=im2uint8(I);
    B=im2uint8(B);
    figure(1);
    subplot(121);imshow(I);
    subplot(122);imshow(B);
    

    可以看到,图像边缘提取成功了,但是提取效果非常一般。

     

     

     

  • 相关阅读:
    高精度A+B
    基本定积分求面积
    二进制算子集和
    linux命令
    Dubbo
    java 集合区别
    Java中Comparable和Comparator区别
    synchronized实现原理
    ThreadLocal 原理
    java volatile关键字
  • 原文地址:https://www.cnblogs.com/wojianxin/p/10595662.html
Copyright © 2011-2022 走看看