MATLAB环境下基于距离正则化水平集演化方法的图像分割

水平集图像分割方法实际上是基于曲线演化理论的一种数学方法在图像上的表示,能够处理曲线的拓扑结构变化,而且其数值实现的稳定性高,医学超声图像由于其成像原理一般会具有较高的斑点噪声并且一些区域存在对比度低的情况。传统的图像分割算法并不能在医学图像分割中取得良好的表现,虽然基于深度学习和神经网络的图像分割方法相较于其他方法虽然具有不错的鲁棒性强和分割效率,但是该类算法最重要的一个环节是需要大量的数据对算法进行预训练,而医学超声图像的获取是一个巨大的问题,基于水平集的分割方法没有这些顾虑。他可以将图像的统计信息和梯度信息等都揉进分割的框架中。基于此优势,很多基于水平集方法的图像分割算法被提出并运用到不同类型的超声图像分割中。

医学超声图像结合了声学、光学、电子学和医学技术,存在边界不清晰,对比度低,噪声大的弊端。由于超声成像技术的局限性,传统的图像分割算法并不能在医学超声图像分割中取得良好的表现,水平集图像分割算法将图像特征信息和一些先验知识融入到分割框架中得到不错的效果,距离正则化水平集演化方法模型补充了距离正则化项保证了零水平集临近区域的规则化,它在保持分割曲线的光滑性的同时可以不用再周期性的初始化。同时利用长度项和面积项驱动轮廓曲线的收敛,让水平集在演化过程中可以使用更自由的初始化方式和更有效稳定的数值实现方案。

基于此,本代码采用距离正则化水平集演化算法进行图像分割,程序运行环境为MATLAB R2018a,部分代码如下:

close all; clc;
im_rgb = im2double(imread('DRIVE/Test/images/03_test.tif'));

im_mask = im_rgb(:,:,2) > (20/255); % Extract green channel
im_mask = double(imerode(im_mask, strel('disk',3)));

figure
subplot(2,2,1),imshow(im_rgb),title('general image');
subplot(2,2,2),imshow(im_mask),title('Mask after erosion');

im_green = im_rgb(:,:,2);
subplot(2,2,3),imshow(im_green),title('Green Channel')

出图如下:

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任
《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
捕鲸叉9 分钟前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer13 分钟前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq16 分钟前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
阡之尘埃43 分钟前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
记录成长java2 小时前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet
前端青山2 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
睡觉谁叫~~~2 小时前
一文解秘Rust如何与Java互操作
java·开发语言·后端·rust
音徽编程2 小时前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
观音山保我别报错2 小时前
C语言扫雷小游戏
c语言·开发语言·算法
小屁孩大帅-杨一凡3 小时前
java后端请求想接收多个对象入参的数据
java·开发语言