资源简介
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); %作一个全零与原图像等大的图像矩阵
- 上一篇:优词词根18677.mdx
- 下一篇:路径规划 MATLAB代码
评论
共有 条评论