• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: Matlab
  • 标签: susan  

资源简介

利用matlab提取图像的边缘,利用susan算法,把图像的边缘找出来。。。

资源截图

代码片段和文件信息

% -----------------------------------------------------------------------

% This function uses the SUSAN algorithm to find edges within an image

%
% >>image_out = susan(image_inthreshold)
%
%
% Input parameters ... The gray scale image and the threshold 
% image_out .. (class: double) image indicating found edges
% typical threshold values may be from 10 to 30
%
%
%The following steps are performed at each image pixel: 
% ( from the SUSAN webpage http://www.fmrib.ox.ac.uk/~steve/susan/susan/node4.html )

% Place a circular mask around the pixel in question. 
% Calculate the number of pixels within the circular mask which have similar brightness to 
% the nucleus. These define the USAN. 
% Subtract USAN size from geometric threshold to produce edge strength image. 
%
% Estimating moments to find the edge direction has not been implemented . 
% Non-maximal suppresion to remove weak edges has not been implemented yet.
%
% example:
%
% >> image_in=imread(‘test_pattern.tif‘);
% >> image = susan(image_in27);
% >> imshow(image[]) 
%
%
% Abhishek Ivaturi

% -------------------------------------------------------------------------

function image_out = susan(imthreshold)

close all

clc

% check to see if the image is a color image...
d = length(size(im));
if d==3
    image=double(rgb2gray(im));
elseif d==2
    image=double(im);
end

% mask for selecting the pixels within the circular region (37 pixels as
% used in the SUSAN algorithm

mask = ([ 0 0 1 1 1 0 0 ;0 1 1 1 1 1 0;1 1 1 1 1 1 1;1 1 1 1 1 1 1;1 1 1 1 1 1 1;0 1 1 1 1 1 0;0 0 1 1 1 0 0]);



% the outpu

评论

共有 条评论