博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab练习程序(Marr-Hildreth边缘检测)
阅读量:6174 次
发布时间:2019-06-21

本文共 821 字,大约阅读时间需要 2 分钟。

  方法是先用LoG算子进行滤波,在对图像的过零点进行检测。

clear all;close all;clc;%产生LoG算子(Laplacian of Gaussian)m=11;n=11;sigma=1.4;w=zeros(m,n);h_m=(m-1)/2;h_n=(n-1)/2;for i=1:m    for j=1:n        y=i-h_m;        x=j-h_n;        w(i,j)=(1/(sigma*sigma))*((y*y+x*x)/(sigma*sigma)-2)*exp(-(y*y+x*x)/(2*sigma*sigma));     endendw=w/sum(sum(w));    %归一化img=double(imread('lena.jpg'));imgn=imfilter(img,w,'replicate');%过零点检测,一个函数最大值大于零,最小值小于零,那么函数中间一定有为零的点%准确的过零点的值需要插值[m n]=size(img);for i=2:m-1    for j=2:n-1        tmp(1)=sum(sum(imgn(i-1:i,j-1:j)));        tmp(2)=sum(sum(imgn(i-1:i,j:j+1)));        tmp(3)=sum(sum(imgn(i:i+1,j-1:j)));        tmp(4)=sum(sum(imgn(i:i+1,j:j+1)));        Ma=max(tmp);        Mi=min(tmp);        if Ma>0 && Mi<0            imgn(i,j)=255;        end    endendimshow(imgn==255);

没有Canny效果好,不过能够得到闭合的曲线,当然,计算量也比Canny小。

转载地址:http://zkqba.baihongyu.com/

你可能感兴趣的文章
跨Navigation跳转(类似微信)方案二
查看>>
JavaScript 复习之 对象的继承
查看>>
从开源小白到 Apache Member,我的成长之路
查看>>
logstash简介
查看>>
Java多线程之synchronized理论
查看>>
Android NestedScrolling解决滑动冲突问题(2) - fling问题与NestedScroll++
查看>>
Tomcat和JVM的性能调优总结
查看>>
硬件线程和软件线程的区别
查看>>
时间戳前
查看>>
11月22日晚上海交大《PMI敏捷实践指南解读》线上沙龙欢迎你的参与!
查看>>
初识 Linux (VMware、CentOS 7)
查看>>
使用SpringMVC完成文件上传
查看>>
mysql Load Data InFile 的用法
查看>>
Go new vs make
查看>>
【云宏大讲坛】超融合,融合的不仅是基础架构
查看>>
pytnon入门的一些小实例
查看>>
ubuntu下的dock工具
查看>>
饿了么被上海市市场监督局予以警告处分
查看>>
Java项目读取配置文件时,找不到指定的文件???
查看>>
lua/luajit and tcc
查看>>