使用边缘检测和形态学检测细胞

简介: 使用边缘检测和基本形态学检测细胞。如果某对象与背景有足够的对比度,则可以在图像中轻松检测到该对象。

一、前言
使用边缘检测和基本形态学检测细胞。如果某对象与背景有足够的对比度,则可以在图像中轻松检测到该对象。
二、实现步骤
步骤 1:读取图像
图像中读取一个前列腺癌细胞的图像。此图像中存在两个细胞,但只有一个细胞完整显示。目标是检测或分割完整显示的细胞。
1.png
步骤 2:检测整个细胞
要分割的对象与背景图像的对比度相差很大。计算图像梯度的算子可以检测到对比度的变化。要创建包含分割后的细胞的二值掩膜,请计算梯度图像并应用一个阈值。
使用 edge 和 Sobel 算子计算阈值。调整阈值,再次使用 edge 获得包含分割后的细胞的二值掩膜。显示生成的二元梯度掩膜。
2.png

步骤 3:膨胀图像
二元梯度掩膜显示图像中高对比度的线条。这些线条没有很好地描绘出感兴趣的对象的轮廓。与原始图像相比,梯度掩膜中对象周围的线条有间隙。如果使用线性结构元素膨胀 Sobel 图像,这些线性间隙将消失。使用 strel 函数创建两个垂直线性结构元素。
先后使用垂直结构元素和水平结构元素,来膨胀二元梯度掩膜。使用 imdilate 函数膨胀图像。
3.png
步骤 4:填补内部间隙
膨胀的梯度掩膜很好地显示了细胞的轮廓,但细胞内部仍有小孔。要填充这些孔洞,请使用 imfill 函数。
4.png
步骤 5:删除边界上的连通对象
感兴趣的细胞已成功分割,但它不是被发现的唯一对象。可以使用 imclearborder 函数删除任何与图像边界连通的对象。要删除对角线连通,请将 imclearborder 函数中的连通性设置为 4。
5.png

步骤 6:平滑处理对象
最后,为了使分割后的对象看起来自然,用菱形结构元素对图像腐蚀两次来平滑处理对象。使用 strel 函数创建菱形结构元素。
6.png
步骤 7:可视化分割
可以使用 labeloverlay 函数在原始图像上显示掩膜。
7.png
显示分割后的对象的另一种方法是在分割的细胞周围绘制轮廓。使用 bwperim 函数绘制轮廓。
8.png

目录
相关文章
|
1月前
|
机器学习/深度学习 存储 编解码
什么是图像噪声?是如何产生的?图像去噪技术都有哪些?
图像噪声是在图像采集、传输和处理过程中产生的像素值异常现象,主要由光子计数统计、电子偏移和放大器噪声等因素引起。噪声影响图像质量,降低信噪比,使特征难以识别。图像去噪技术包括传统方法(如空间域滤波、频域滤波、图像压缩和超糅合)和基于深度学习的方法(如卷积神经网络、残差网络和生成对抗网络),旨在有效去除噪声,提高图像质量。
|
6月前
|
算法 计算机视觉
图像处理之积分图应用四(基于局部均值的图像二值化算法)
图像处理之积分图应用四(基于局部均值的图像二值化算法)
550 0
|
6月前
|
算法 计算机视觉
图像处理之霍夫变换圆检测算法
图像处理之霍夫变换圆检测算法
65 0
|
机器学习/深度学习 传感器 算法
使用显著性检测的可见光和红外图像的两尺度图像融合(Matlab代码实现)
使用显著性检测的可见光和红外图像的两尺度图像融合(Matlab代码实现)
|
编解码 算法 数据可视化
【高光谱图像的去噪算法】通过全变异最小化对受激拉曼光谱图像进行去噪研究(Matlab代码实现)
【高光谱图像的去噪算法】通过全变异最小化对受激拉曼光谱图像进行去噪研究(Matlab代码实现)
108 0
|
编解码 算法 Java
基于Gabor-小波滤波深度图表面法线的特征提取算法【通过正常Gabor-小波的直方图进行2D或3D特征提取】研究(Matlab代码实现)
基于Gabor-小波滤波深度图表面法线的特征提取算法【通过正常Gabor-小波的直方图进行2D或3D特征提取】研究(Matlab代码实现)
110 0
|
机器学习/深度学习 传感器 算法
不同颜色空间中的鲁棒边缘检测附matlab代码
不同颜色空间中的鲁棒边缘检测附matlab代码
|
资源调度 算法 API
OpenCV_06 图像平滑:图像噪声+图像平滑+滤波
由于图像采集、处理、传输等过程不可避免的会受到噪声的污染,妨碍人们对图像理解及分析处理。常见的图像噪声有高斯噪声、椒盐噪声等。
140 0
|
机器学习/深度学习 传感器 算法
【图像检测】基于Hough变换曲线检测附matlab代码
【图像检测】基于Hough变换曲线检测附matlab代码
|
机器学习/深度学习 传感器 算法
【图像检测-边缘检测】基于遗传算法的边缘检测算法研究附matlab代码
【图像检测-边缘检测】基于遗传算法的边缘检测算法研究附matlab代码