Matlab图像分割---使用主动轮廓 (snake) 方法进行图像分割

40 篇文章 2 订阅
订阅专栏

实例1:使用主动轮廓(snake)将图像分割成前景和背景

实例2:基于边缘‘edge’方法的主动轮廓图像分割

实例3:基于区域‘Chan-Vese’方法的主动轮廓图像分割(可交互式创建多边形遮罩)

本例程的配套完整源码和图片素材下载

主动轮廓方法,也称为 snake,是一种迭代式区域增长图像分割算法。使用主动轮廓算法,您可以在图像上指定初始曲线然后使用 activecontour 函数使曲线向对象边界演化。

activecontour函数

BW = activecontour( A, mask, n) 

使用主动轮廓将图像 A 分割成前景(对象)和背景区域mask 参数是一个指定主动轮廓初始状态的二值图像。mask 中对象区域(白色)的边界定义轮廓演化的初始轮廓位置,以用于分割图像输出图像 BW 是一个二值图像,前景为白色(逻辑 true),背景为黑色(逻辑 false)。要获得更快、更准确的分割结果,请指定靠近所需对象边界的初始轮廓位置。通过最多迭代 n 次的轮廓演化来分割图像。

实例1:使用主动轮廓(snake)将图像分割成前景和背景

%%使用主动轮廓分割图像%%
close all;                  %关闭当前所有图形窗口,清除工作空间所有变量
clear all;
clc;
%%读取并显示灰度图像
I = imread('coins.png');%读取图像
figure,imshow(I)%显示图像
title('Original Image')%添加标签
%%指定关注对象周围的初始轮廓。显示该轮廓
mask = zeros(size(I));%初始化一个与I图像一样大小的值都为0的图像mask
%mask(Y1:Y2,X1:X2),(X1,Y1)为矩形左上角,(X1,Y2)为矩形右下角
mask(25:end-25,25:end-25) = 1;%调整mask区域,x轴为(25~X_max_size-25),y轴为(25~Y_max_size-25)的区域赋值为1(纯白)
figure,imshow(mask)%显示mask图像
title('Initial Contour Location')%添加标签
%%使用默认方法的300次迭代对图像进行分割
bw = activecontour(I,mask,300);%调用activecontour函数
figure, imshow(bw);%显示分割图像
title('Segmented Image');%添加标签

                             

               输入初始图像I                    设定初始轮廓图像mask         默认100次迭代分割结果图像bw    300次迭代分割结果图像bw

实例2:基于边缘‘edge’方法的主动轮廓图像分割

%%使用主动轮廓和交互式掩膜分割图像%%
close all;%关闭当前所有图形窗口,清除工作空间所有变量
clear all;
clc;
I = imread('toyobjects.png');%读取图像
imshow(I)%显示图像
hold on
title('Original Image');%添加标签
%%指定靠近要分割对象的初始轮廓位置
mask = false(size(I));%初始化一个与I图像一样大小的值都为0的图像mask
%mask(Y1:Y2,X1:X2),(X1,Y1)为矩形左上角,(X1,Y2)为矩形右下角
mask(50:150,40:170) = true;%调整mask区域,x轴为(40~170),y轴为(50~150)的区域赋值为1(纯白)
%figure,imshow(mask)%显示mask图像
visboundaries(mask,'Color','b');%在原始图像上以蓝色显示初始轮廓
%%使用'edge'方法分割图像并设置200次迭代
bw = activecontour(I, mask, 200, 'edge');
%%在原始图像上以红色显示最终轮廓
visboundaries(bw,'Color','r');
title('Initial contour (blue) and final contour (red)');%添加标签
%%显示分割图像
figure, imshow(bw)
title('Segmented Image');%添加标签

      

             输入初始图像I                          初始轮廓图像mask            ‘edge’方法分割结果轮廓图像                分割二值图像bw

实例3:基于区域‘Chan-Vese’方法的主动轮廓图像分割(可交互式创建多边形遮罩)

%平滑因子 'SmoothFactor' -分割区域的边界的平滑或规律性的程度 1.5
%收缩偏置'ContractionBias'-轮廓向外增长或向内收缩的趋势 
%正值使轮廓向内收缩(收缩)。负值使轮廓线向外扩展(扩展)。 0.4
I = imread('toyobjects.png');%读取图像
imshow(I)%显示
title('Original Image')%添加标签
str = 'Click to select initial contour location. Double-click to confirm and proceed.';
title(str,'Color','b','FontSize',12);
disp(sprintf('\nNote: Click close to object boundaries for more accurate result.'))
%%交互式地指定初始轮廓
%鼠标左键每单击一处确定选取轮廓多边形一个顶点,双击完成选取
mask = roipoly;%用鼠标画多边形的函数
figure, imshow(mask)%显示轮廓
title('Initial MASK');%添加标签
%%分割图像,设置最大迭代200次
maxIterations = 200; 
bw = activecontour(I, mask, maxIterations, 'Chan-Vese');%调用activecontour函数
figure, imshow(bw)%显示分割图像
title('Segmented Image');%添加标签

          

               输入初始图像I                  交互式地指定初始轮廓图像mask           初始轮廓mask       ‘Chan-Vese’方法分割结果图像bw

注:

1、分割的输入图像I需要指定为灰度图像

2、分割开始演化的初始轮廓mask,需指定为与I相同大小的二值图像

3、在分割演化过程中执行的最大迭代次数n,指定为数值标量。如果当前迭代中的轮廓位置与最近5次迭代的轮廓位置之一相同,或者达到最大迭代次数,则activecontour停止活动轮廓的演化。如果初始轮廓位置(由掩模中的区域边界指定)远离目标边界,则可能需要指定较高的n值来实现预期的分割结果。

4、主动轮廓的方法主要有Chan-Vese' (default默认) (基于区域的能量模型)和 'edge'(基于边缘的模型)两种

5输出分割图像bw,作为与输入图像I相同大小的二值图像返回。前景为白色(逻辑为真),背景为黑色(逻辑为假)。

 

参考文献:

[1] T. F. Chan, L. A. Vese, Active contours without edges. IEEE Transactions on Image Processing, Volume 10, Issue 2, pp. 266-277, 2001

[2] V. Caselles, R. Kimmel, G. Sapiro, Geodesic active contours. International Journal of Computer Vision, Volume 22, Issue 1, pp. 61-79, 1997.

[3] R. T. Whitaker, A level-set approach to 3d reconstruction from range data. International Journal of Computer Vision, Volume 29, Issue 3, pp.203-231, 1998.

图像分割】基于matlab主动轮廓模型图像分割【含Matlab源码 2176期】
订阅付费专栏(初级版),可赠送该付费专栏任意代码1份;
10-18 805
主动轮廓模型图像分割 完整代码,直接运行,适合小白!可提供运行操作视频!
主动轮廓模型——Snake分割算法 matlab源码
天下对手教会少林武僧
09-24 2520
学习图像分割算法,在网上找到的关于主动轮廓模型的实现代码,自己简化总结了一下,在这里和大家分享,欢迎提问 进入正题: snake是一种能量最小的曲线,表示为v(s) = (x(s), y(s)), s为归一化的曲线长度,s∈[0, 1]。 能量函数由曲线内部能量和外部约束力(图像力)组成, 表示为 Esnake = ∫Esnake(v(s))ds ...
图像处理轮廓分割的方法有哪些?
最新发布
weixin_43501408的博客
07-18 290
问题描述:图像处理轮廓分割的方法有哪些?
图像分割与实战(一)——基于主动轮廓snake)的图像分割
bigData1994pb的博客
05-21 2625
1.主动轮廓图像分割算法的概述 1.1主要思想 将图像分割问题转化为轮廓进化问题 1.2工作原理 将一条曲线在内外力的共同作用下,使得曲线逐步收敛到目标轮廓 1.3 算法流程 初始化曲线 利用内外力更新曲线 判断曲线是否收敛,否则返回第2步 1.4 需要解决的两个问题 如何表示曲线 曲线表示方法有两种: 参数化曲线表示-——>参数主动轮廓模型(Snake模型) 几何化曲线表示——>几何活动轮廓模型(Level set模型) 2.如何定义内外力(定义内外...
主动轮廓模型图像分割程序 matlab
11-09
简单,明确,适合初学者,代码可以直接运行,自带图片
图像分割】基于主动轮廓模型实现图像分割matlab代码
matlab_dingdang的博客
10-11 765
主动轮廓模型算法是目前流行的图像分割算法, 其主要优点是无论图像的质量如何, 总可以抽取得到光滑、封闭的边界. 本文综述了主动轮廓模型算法的发展概况, 并分类介绍了各算法的特点. 此外, 本文还给出了算法发展的方向, 以及今后研究所面临的关键问题.
图像分割】基于主动轮廓模型实现图像分割matlab代码2
matlab_dingdang的博客
10-15 527
医学图像分割在疾病诊断和治疗等领域中的作用日益重要.当前,主动轮廓模型已广泛地应用于医学图像分割领域.此模型对图像分割,可视化,配准和解剖组织跟踪等是很有效的.主动轮廓模型将复杂的分割转化为函数的极值问题,即曲线或曲面变形的依据是根据其定义的能量函数最小化原则.
使用 Snake主动轮廓算法进行图像分割_代码_下载
06-07
使用 Snake主动轮廓算法进行图像分割 在本项目中,使用阈值法以外的方法进行分割。使用方法是蛇法,也称为活动轮廓。该应用程序是在 MATLAB R2008b 上开发的。该应用程序在医学图像上进行了测试,发现其性能在...
snake-model.zip_snake 分割_snake图像分割_snake模型 matlab_肝脏分割_肝脏分割分割
09-20
蛇形模型,或称为Snake模型,是计算机视觉领域中一种广泛应用的图像分割方法,由G.M. Kass、W. Ritter和M. Shimojo于1988年提出。该模型通过模拟物理系统中的弹性曲线来追踪图像中的边界,从而实现对目标物体轮廓的...
matlab_对视网膜图像进行血管分割
05-01
3. 血管分割:常用的分割方法有阈值分割、区域生长、水平集、主动轮廓模型(Snake)、基于能量最小化的算法等。MATLAB中的`imbinarize`、`regionprops`等函数可以用于这些操作。 4. 后处理:分割结果往往需要进一步...
color-snake.rar_b snake_b-snake_snake matlab_snake 图像处理
09-19
在这个"color-snake.rar_b snake_b-snake_snake matlab_snake 图像处理"的压缩包中,我们聚焦于一种特定的图像处理方法——彩色蛇模型(Color Snake),它在处理彩色图像时展现了独特的优势。 首先,我们要理解什么...
ActiveContour_MATLAB:使用MATLAB内置函数进行轮廓提取
03-09
ActiveContour_MATLAB 使用MATLAB内置函数进行轮廓提取
主动轮廓模型算法matlab程序
05-28
自己写的利用贪婪算法获取收敛轮廓主动轮廓算法matlab程序,可以实现自动初始化轮廓,并且初始轮廓不需要全部包含目标。 压缩包中包括:matlab程序,运行说明及参考文献 希望对学习active contour 的您有用~~
主动轮廓法的算法实现
05-22
主动轮廓法于1987年被提出,现在轮廓提取、对象跟踪等许多方面得到了广泛的应用。本资源实现了主动轮廓法的算法
图像分割】基于matlab snake模型图像分割【含Matlab源码 418期】.zip
11-06
完整代码,可直接运行
图像分割基于matlab主动轮廓模型图像分割【含Matlab源码 2176期】.zip
10-17
CSDN海神之光上传的代码均可运行,亲测可用,...特征增强分割:超像素SFFCM图像分割、关键像素点FLICM图像分割 智能算法图像分割:遗传算法、灰狼算法、人工鱼群、贝叶斯、北方苍鹰、萤火虫、和声搜索、粒子群、蚁群算法
主动轮廓——计算机视觉中的图像分割方法
gongdiwudu的专栏
01-19 3124
简单来说,计算机视觉就是为计算机提供类似人类的视觉。作为人类,我们很容易识别任何物体。我们可以很容易地识别山丘、树木、土地、动物等,但计算机没有眼睛,也没有大脑,因此它很难识别任何图像。计算机只能理解命令和数学。因此,有很多技术可以让计算机识别各种物体。图像分割是目标检测的方法之一。
图像分割法-snake
三眼二郎
04-17 6221
1987年由 Kass 等人提出的主动轮廓模型即蛇模型(snake 模型) M. Kass, A.P. Witkin, D. Terzopoulos. Snakes: Active Contour Models.International Journal of Computer Vision.1987, 1(4): 321~331. 该方程:基于能量泛函法。 曲线几何特征:方向-单位法向量;...
图像分割主动轮廓模型
如果想成为中心,那么就到中心去吧。
01-14 1705
code:https://github.com/pmneila/morphsnakes 文章目录分割效果![在这里插入图片描述](https://img-blog.csdnimg.cn/20210114151456792.gif#pic_center)代码示例 分割效果 代码示例 def example_lakes(): logging.info('Running: example_lakes (MorphACWE)...') # Load the image. imgcolor
写文章

热门文章

  • 小甲鱼零基础入门学习python笔记 139579
  • Matlab函数学习---sum函数(计算矩阵、数组和向量元素总和) 54088
  • Matlab结果性能评价---rms函数(计算矩阵、数组和向量元素均方根) 28992
  • 基于Matlab的IIR高通、带通、低通和带阻数字滤波器设计(巴特沃斯和切比雪夫I型实现) 26505
  • Matlab图像分割---使用主动轮廓 (snake) 方法进行图像分割 17319

分类专栏

  • 三维建模 3篇
  • 视频教程 2篇
  • 图像处理 1篇
  • Matlab 12篇
  • 医学图像分割 34篇
  • VTK 28篇
  • 图像分割 40篇
  • openCV 79篇
  • 文件格式转换 4篇
  • ITK 41篇
  • 图像建模 5篇
  • DNN模块 8篇
  • 环境配置 1篇
  • 软件安装
  • 机器人建模与仿真 1篇
  • VTK学习笔记 74篇
  • 手术导航 1篇
  • 数字信号处理 1篇
  • 控制 2篇
  • 嵌入式 1篇
  • PCB绘制 1篇
  • AD 1篇
  • 元件库 1篇
  • PCB库 1篇
  • PPT笔记 1篇
  • 源码与课后题总结 1篇
  • 运维 1篇
  • C++基础编程 13篇
  • CentOS 1篇
  • 编程语言 6篇
  • python笔记 1篇

最新评论

  • Win10-64位(或Win7)+VS2019+ITK4.13.2+VTK8.2+CMake3.16环境配置

    littlefireee: 我也出现这个问题了,老哥解决了吗

  • Mimics医学建模学习笔记

    y1_c1: 肝脏+动脉这个怎么识别处理呢,骨头的能处理,但是器官的特别是血管的处理要怎么识别呀

  • Win10(Win7)安装医学Mimics16.0和Mimics19软件安装教程

    SKY131491: 压缩包里没有这个3-matic 8.0,文件夹啊,请问怎么回事,别人都有吗?

  • Mimics医学建模学习笔记

    2301_80067381: 请问安装以后当前页面脚本出现错误有影响吗?

  • Win10-64位(或Win7)+VS2019+ITK4.13.2+VTK8.2+CMake3.16环境配置

    孟德综合症: 打开ITK工程

最新文章

  • 基于Matlab的图像拼接与拼接后平均剪切实现
  • VTK系列71_VTK对MHA格式文件三维感兴趣区域裁剪及MHA格式保存
  • VTK系列70_VTK对MHD格式文件单张切片的鼠标滑动提取显示
2021年56篇
2020年113篇
2019年7篇

目录

目录

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦我飞也

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家偃师商场美陈商场美陈展示区南京常见玻璃钢花盆南京镜面玻璃钢雕塑品牌企业玻璃钢雕塑小品定制绍兴玻璃钢雕塑摆件销售厂家揭阳玻璃钢人物雕塑厂家现货红色杯形玻璃钢花盆广东玻璃钢雕塑摆件多少钱南通椭圆形玻璃钢花盆玻璃钢人物雕塑的用途范围玻璃钢雕塑如何清洁广东玻璃钢雕塑漆黄山步行街玻璃钢雕塑销售厂家精美玻璃钢座椅雕塑济南景区玻璃钢雕塑十堰校园玻璃钢雕塑生产厂家广东商场美陈怎么样漳州玻璃钢雕塑工厂玻璃钢主题雕塑消未知来源淄博公园玻璃钢雕塑价格铜玻璃钢彩绘雕塑加工威海玻璃钢园林雕塑江油玻璃钢长颈雕塑浙江欧式玻璃钢雕塑成都雕塑玻璃钢桂林玻璃钢泡沫雕塑临沂商场美陈河北玻璃钢红军雕塑冬季商场中厅美陈装扮香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化