为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

matlab图像分割

2017-10-21 6页 doc 78KB 40阅读

用户头像

is_314871

暂无简介

举报
matlab图像分割matlab图像分割 中 国 地 质 大 学 课程设计 课程名称 数字图像处理 教师姓名 傅华明 学生姓名 学生学号 学生班级 数字图像处理报告 —基于matlab实现图像分割 1.实验要求: 采用简单区域扩张法对下图实施图像的区域分割。自行选定起始种子像素灰及灰度间隔度。 2.实验原理: 以图像的某个像素为生长点,比较相邻像素的特征,将特征相似的相邻像素合并为同一区域;以合并的像素为生长点,继续重复以上操作,最终形成具有相似特征的像素的最大连通集合。该法称简单区域扩张发。 基于区域灰度差的方法主...
matlab图像分割
matlab图像分割 中 国 地 质 大 学 课程设计 课程名称 数字图像处理 教师姓名 傅华明 学生姓名 学生学号 学生班级 数字图像处理报告 —基于matlab实现图像分割 1.实验要求: 采用简单区域扩张法对下图实施图像的区域分割。自行选定起始种子像素灰及灰度间隔度。 2.实验原理: 以图像的某个像素为生长点,比较相邻像素的特征,将特征相似的相邻像素合并为同一区域;以合并的像素为生长点,继续重复以上操作,最终形成具有相似特征的像素的最大连通集合。该法称简单区域扩张发。 基于区域灰度差的主要有以下几个步骤: (1)对图像进行逐行扫描,找出尚没有归属的像素; (2)以该像素为中心检查它的邻域像素,如果灰度差小于预先确定的邻域,直到区域不能进一步扩张; (3)以新合并的像素为中心,重复步骤(2),检查新像素的邻域,直到区域不能进一步扩张; (4)返回到步骤(1),继续扫描直到不能发现没有归属的像素,则结束整个生长过程。 3.实验代码: function OutImage = Region_Grow(Image, x,y, threshold) %区域增长程序 %Image ---待分割的图像 %x----种子点的x坐标 %y----种子点的y坐标 %threshold-----阈值 I = double(Image); [m, n] = size(I); flag = zeros(m, n); %标记矩阵,记住哪些点走过,哪些点没有走过 total_num = m * n; Qx = zeros(1, total_num); Qy = zeros(1, total_num); last = 1; first = 1; %置为空队列 Qx(1, 1) = x; Qy(1, 1) = y; flag(x, y) = 1; while(last >= first) %队列不为空 fx = Qx(1, first); fy = Qy(1, first); %==========fx-1, fy-1============== if ( ((fx - 1)>0) & ((fx - 1)<=m) & ((fy - 1)>0) & ((fy - 1)<=n)) if ( ((I(x,y) - I(fx-1, fy-1))<=threshold) & (flag(fx-1, fy-1) == 0) ) flag(fx-1, fy-1) = 1; last = last + 1; Qx(1, last) = fx -1; Qy(1, last) = fy -1; end end %==========fx, fy-1============== if ( ((fy - 1)>0) ) if ( ((I(x,y) - I(fx, fy-1))<=threshold) & (flag(fx, fy-1) == 0) ) flag(fx, fy-1) = 1; last = last + 1; Qx(1, last) = fx ; Qy(1, last) = fy -1; end end %==========fx+1, fy-1============== if ( ((fx + 1)<=m) & ((fy - 1)>0) ) if ( ((I(x,y) - I(fx+1, fy-1))<=threshold) & (flag(fx+1, fy-1) == 0) ) flag(fx+1, fy-1) = 1; last = last + 1; Qx(1, last) = fx +1; Qy(1, last) = fy -1; end end %==========fx+1, fy============== if ( ((fx + 1)<=m) ) if ( ((I(x,y) - I(fx+1, fy))<=threshold) & (flag(fx+1, fy) == 0) ) flag(fx+1, fy) = 1; last = last + 1; Qx(1, last) = fx + 1; Qy(1, last) = fy; end End clear; close all; I=imread('p5-06.tif'); imshow(I); %imview(I); % segmentation_regiongrowth(I,350,600,100) OutImage=Region_Grow(I,230,190,30); figure,imshow(OutImage ); 4.运行结果: 通过上机进行图像分割,我对图像分割的原理有了进一步的理解。运行结果较好的实现 了图像分割。
/
本文档为【matlab图像分割】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索