news 2026/6/17 14:08:17

【细胞分割】基于Otsu大津法的细胞图像分割与计数系统附Matlab代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【细胞分割】基于Otsu大津法的细胞图像分割与计数系统附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。

🍎往期回顾关注个人主页:Matlab科研工作室

👇 关注我领取海量matlab电子书和数学建模资料

🍊个人信条:做科研,博学之、审问之、慎思之、明辨之、笃行之,是为:博学慎思,明辨笃行。

🔥 内容介绍

该项目为数字图像处理课程实践项目,基于Matlab编程实现细胞图像的自动化分割、计数与特征分析,同时完成细胞内红/绿色染色体的识别与定位,解决了细胞粘连、噪声干扰、染色体精准筛选等问题,为生物医学诊断与细胞分析提供自动化技术支撑。

项目实现了从图像预处理、细胞分割、特征提取到染色体识别的全流程自动化处理,支持细胞数量统计、单细面积/周长计算、染色体形态筛选与质心标注,代码通过多组细胞样本(cell1/cell2/cell3)测试,具备一定的鲁棒性。

项目背景

细胞图像的精准分割与计数是生物医学研究的基础环节,人工分析存在效率低、主观性强、误差大的问题,且细胞图像易存在噪声干扰、细胞粘连、染色体形态多样等难点,传统方法难以实现自动化、高精度的分析。

本项目依托数字图像处理技术,构建自动化处理系统,解决上述痛点,实现细胞与染色体的精准识别、计数和特征提取,为生物医学研究提供高效的工具支持。

数据样本展示

当前有3张细胞图像样本,图像中细胞主体显现为蓝色,细胞中存在被染成红色与绿色的染色体。展示如下:

核心功能

  1. 细胞图像预处理:自定义滤波、锐化算法,实现噪声去除与边缘增强;

  2. 粘连细胞分割:基于分水岭算法实现粘连细胞的精准切分,完成单个细胞区域提取;

  3. 细胞特征分析:自动统计细胞数量,计算每个细胞的面积、周长并可视化标注;

  4. 染色体识别计数:基于R/G颜色通道实现红/绿色染色体筛选,通过形态阈值过滤非目标区域,统计数量并标注质心坐标;

  5. 结果可视化:生成细胞标签着色图、独立细胞展示窗口、染色体质心标注图,直观展示分析结果。

实验流程与核心实现

整体流程:图像读取 → 通道分离 → 预处理(去噪+锐化) → Otsu二值化 → 分水岭分割粘连细胞 → 细胞标签化与特征计算 → 染色体识别与计数 → 结果可视化

1. 图像通道分离

细胞主体为蓝色,选取B通道进行细胞分割与特征分析;细胞内红/绿色染色体分别选取R通道、G通道进行独立识别,分离不同通道以降低目标干扰。

2. 图像预处理

自定义两个核心函数实现去噪与锐化,提升图像质量,为后续分割做准备:

(1)中值滤波去噪(medfilter

以3×3窗口遍历图像,通过计算窗口内像素中值替换中心像素,有效抑制图像噪声,保留边缘细节。

(2)自定义锐化(sharpimfilter

定义水平/垂直方向三阶梯度核,通过卷积计算像素梯度幅值,提升图像边缘对比度,强化细胞与背景的边界特征。

3. Otsu大津法二值化

自定义Otsu函数,通过最大化类间方差选取最优阈值,实现细胞(前景)与背景的初步分割,得到二值化图像。核心思想:遍历所有可能阈值,计算不同阈值下前景/背景的类间方差,取方差最大值对应的阈值为最优阈值,提升分割的准确性。

4. 分水岭算法分割粘连细胞

针对二值化图像中细胞粘连严重的问题,通过分水岭算法(水坝分割)实现粘连细胞的精准切分,核心步骤:

  1. bwareaopen:移除二值图像中面积过小的噪声区域,净化前景;

  2. bwdist:距离变换,计算前景像素到最近背景的距离,生成距离灰度图;

  3. imextendedmin:确定分割种子点,标记每个细胞的核心区域;

  4. imimposemin:将种子点强制为距离图的局部最小值,确定分割起始点;

  5. watershed:分水岭变换,基于最小值点实现细胞区域的分割,完成粘连细胞切分。

5. 细胞特征分析与计数

通过bwlabel对分割后的细胞区域进行标签化,每个细胞分配唯一标签,基于标签实现细胞数量统计与特征计算:

(1)细胞数量与面积计算

标签数即为细胞总数,每个标签下的像素点数量为对应细胞的面积,遍历所有标签统计并存储面积数据至S_list

(2)细胞周长计算

通过8邻域检测判断细胞边界像素:若某像素为细胞区域,且其8邻域存在背景像素,则判定为边界像素,统计所有边界像素数量即为细胞周长,结果存储至C_list

(3)细胞可视化标注

生成细胞着色图与标签可视化图,在图像中标注细胞编号、面积、周长,并实现独立细胞展示窗口:自动根据细胞数量创建窗口(每页9个细胞),提取单个细胞区域并展示其面积、周长信息。

6. 红/绿色染色体识别与计数

针对R/G通道的染色体图像,重复预处理+Otsu二值化操作(二值化阈值在最优值基础上+50,抑制颜色扩散干扰),通过形态筛选+质心标注实现精准识别:

  1. 形态筛选:利用regionprops计算连通区域的离心率(Eccentricity),设定阈值0.9,筛选接近圆形的染色体(离心率越接近0,形状越圆),剔除长条状伪目标;

  2. 数量统计:遍历每个细胞标签区域,统计其中符合形态要求的红/绿色染色体数量,分别存储至R_CountG_Count

  3. 质心标注:记录染色体的质心坐标,在原始图像上用红点(红染色体)、绿点(绿染色体)标注,并在细胞中心标注染色体数量;

  4. 边缘过滤:忽略细胞区域外的染色体,仅统计细胞内的有效目标。

⛳️ 运行结果

📣 部分代码

%自定义中值滤波函数,实现图像去噪

function new_pic = medfilter(pic,n)

N=ones(n,n);

[h,w]=size(pic);

copy_pic=double(pic); %将图像信息流设为double格式

x2=copy_pic;

offset = floor(n/2);

for i = offset+1:h-offset

for j = offset+1:w-offset

% 提取当前窗口内的像素值

b = copy_pic(i-offset:i+offset, j-offset:j+offset).*N;

% 计算中位数

s = median(b,[1,2]);

% 将中位数赋给输出图像的对应位置

x2(i,j) = s;

end

end

new_pic=uint8(x2);

end

🔗 参考文献

[1]薛延学,刘敏,马思欣,等.复杂背景下基于二维OTSU和肤色分割结合的掌纹图像分割方法[J].西安理工大学学报, 2015, 31(3):7.DOI:CNKI:SUN:XALD.0.2015-03-017.

🍅更多免费数学建模和仿真教程关注领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/17 14:07:34

BH1750环境光传感器:从I2C驱动到智能光照调节的完整实践指南

1. 项目概述:BH1750环境光传感器深度解析 最近在做一个智能家居光照调节的项目,选型时BH1750这颗数字环境光传感器芯片几乎成了不二之选。它不像一些模拟传感器需要复杂的ADC电路和校准,直接通过I2C总线就能读到高精度的光照度值,…

作者头像 李华
网站建设 2026/6/17 14:04:30

算电岛:新能源从发电到服务的价值重构

1. “算电岛”不是新电站,而是新能源价值重估的临界点“特锐德推出全球首个‘算电岛’,新能源度电成本如何从0.5元变为10元 token?”——这个标题刚刷出来时,我正调试一套光伏储能边缘计算的本地化调度系统。第一反应不是兴奋&…

作者头像 李华
网站建设 2026/6/16 10:21:04

如何实现一个全天候自动“抽图”的AI脚本?三种方案全解析

你是否幻想过:只要写好一段脚本,让电脑(甚至云端)自己不断生成AI图片,而你只需要醒来欣赏成果?这种“挂机抽图”的自动化需求,在创意工作者、设计师和AI爱好者中越来越普遍。本文将为你拆解三种…

作者头像 李华
网站建设 2026/6/16 10:17:57

Python换行规则:显式续行与隐式续行的原理与实践

1. 项目概述:为什么“换行”这件事在 Python 里既简单又容易翻车你刚写完一行超长的字典初始化,眼睛盯着屏幕右半边滚动条发呆;或者正调试一个嵌套三层的列表推导式,发现它横跨了编辑器整整三屏;又或者——最经典的一幕…

作者头像 李华
网站建设 2026/6/16 10:17:56

增量型实践框架:从SMART-ER原则到CI/CD的可持续交付方法论

1. 项目概述:从“增量”思维到系统化实践最近几年,“增量”这个词在技术圈、产品圈乃至个人成长领域被频繁提及。它听起来简单,无非是“一点一点增加”的意思,但真正能把“增量型”思维落地为一种可执行、可复现、能持续产生复利的…

作者头像 李华