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

资源简介

matlab区域生长道路分割,不需要手动提取,运用阈值分割的方法

资源截图

代码片段和文件信息

function J = regionGrow(I)
% 区域生长,需要以交互方式设定初始种子点,具体方法为鼠标单击图像中一点后,按下回车键
%
% 输入:I - 原图像
% 输出:J - 输出图像
clc;
clear;
 I=imread(‘colorpic398.jpg‘);

 I1=rgb2gray(I);
 thresh=graythresh(I1);
 
%   thresh = 0.5 * (double(min(I(:))) + double(max(I(:)))); %初始阈值
%       done = false; %结束标志
%       while ~done
%        g = I >= thresh;
%        Tnext = 0.5 * (mean(I(g)) + mean(I(~g)));
%        done = abs(thresh - Tnext) < 0.5;
%        thresh = Tnext;
%       end;
      
if  isinteger(I);   %判断给定数组是否是整型数组
    I=im2double(I);   %把图像数据类型转换为双精度浮点类型
end
figureimshow(I)title(‘原始图像‘)
[MN]=size(I);
[yx]=getpts;             %获得区域生长起始点
x1=round(x);            %横坐标取整
y1=round(y);            %纵坐标取整
seed=I(230270);           %将生长起始点灰度值存入seed中
J=zeros(MN);     %作一个全零与原图像等大的图像矩阵

评论

共有 条评论

相关资源