资源简介

Matlab边缘检测和区域生长图像分割算法代码,适合于图像边缘检测。

资源截图

代码片段和文件信息

clc;
clear all;
k=input(‘Enter the file name:‘‘s‘); % 输入图像
im=imread(k);                       %读取图像
im=im2double(im);                   %将图像转化为double型 不是的,看我们的需要,不过大多数都是 因为double类型,处理基本不受限制,其他类型有时受限制 
im1=rgb2gray(im);                   %将图像转换为灰度图像
im1=medfilt2(im1[3 3]);            %中值滤波   这个窗口有3*3的,5*5的,7*7的等等 ,选择哪个都可以,关键看我们图像的要求,当然窗口越小,效果会越好 均值滤波使得图像模糊
BW = edge(im1‘Sobel‘);             %找到边缘 cannyprewittlog都试过了,效果没有sobel好
[imximy]=size(BW);                 %提取BW图像的大小  imx代表行数,imy代表列数
msk=[0 0 0 0 0;
     0 1 1 1 0;
     0 1 1 1 0;
     0 1 1 1 0;
     0 0 0 0 0;];                  %随便删,随便加行,减行都可以 实验了很多种,最后得到这个是最好的。
B=conv2(double(BW)double(msk));   %平滑图像 平滑图像能帮助我们更好的标注 图像实际由于灰度不同,会呈现许多区域 标注就是对每个区域进行标注
L = bwlabel(B8);                  %标注连通对象 选择8连通进行标注 用8连通函数进行标

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1671  2011-03-03 15:16  Matlab边缘检测和区域生长图像分割算法代码\deer.m

     文件        312  2011-03-03 15:16  Matlab边缘检测和区域生长图像分割算法代码\regiongrow.m

     目录          0  2011-04-11 20:33  Matlab边缘检测和区域生长图像分割算法代码

----------- ---------  ---------- -----  ----

                 1983                    3


评论

共有 条评论