MATLAB图像处理实验——细胞图像的分割和计数

本文介绍了一个使用MATLAB编写的细胞图像分割和计数系统,涵盖了图像预处理、预分割、空洞填充、黏连细胞分割、细胞计数、特征统计等步骤。实验采用中值滤波去噪,Otsu二值化预分割,分水岭算法分割细胞,并对手动分割和细胞特征进行了详细说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码戳这里

 

1. 实验内容

 

本实验为使用MATLAB编写的细胞图像分割及计数系统,实现了对图像内细胞的计数,以及对每个细胞周长和面积的测量,并分别展示了分割后的每个细胞的图像。

实验步骤共分为图像预处理、图像预分割、空洞填充、黏连细胞分割、细胞个数统计、细胞特征统计及显示。

实验所用图像如下图所示:

2. 图像预处理

 

使用滤波对细胞图像进行保边去噪的处理,这步的主要作用是去除图像噪声,系统中提供了中值滤波、均值滤波、维纳滤波、锐化滤波,经过测试发现中值滤波的效果最好,因此以中值滤波为例进行下面的实验。

部分代码如下:

global original_img show_img;
str=get(hObject,'string');
axes(handles.axes1);
[m,n,k]=size(original_img);
switch str
    case '原图'
        show_img=original_img;
        imshow(show_img);
    case '中值滤波'  
        show_img=original_img;
        for i=1:3
            show_img(:,:,i)=medfilt2(show_img(:,:,i));
        end
        imshow(show_img);
    case '均值滤波'
        show_img=original_img;
        h=ones(3,3)/9;
        for i=1:3
            show_img(:,:,i)=imfilter(show_img(:,:,i),h);
        end
        imshow(show_img);
    case '维纳滤波'
        show_img=original_img;
        for i=1:3
            show_img(:,:,i)=wiener2(show_img(:,:,i),[5 5]);
        end
        imshow(show_img);
    case '锐化滤波'
        show_img=original_img;
        h=[0 1 0;1 -4 1;0 1 0];
        for i=1:3
            J=conv2(im2double(show_img(:,:,i)),h,'same');
            show_img(:,:,i)=show_img(:,:,i)-uint8(J);
        end
        imshow(show_img);  
end

中值滤波图像如下:

评论 89
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值