癌细胞形态学分析

编程入门 行业动态 更新时间:2024-10-09 06:22:56

癌细胞<a href=https://www.elefans.com/category/jswz/34/1769252.html style=形态学分析"/>

癌细胞形态学分析

clc;
clear;
I=imread('cancer02.bmp');       % 注意必须保证二值图像中,细胞区域为白色区域或者像素点值为“1”
[x,y]=size(I);BW = bwperim(I,8);              % 检测细胞的边缘跟踪,用于计算周长 
figure(3);
imshow(BW);
%检测垂直方向连读的周长像素点%
P1=0;
P2=0;
Ny=0;                           % 记录垂直方向连续周长像素点的个数
for i=1:xfor j=1:yif (BW(i,j)>0)P2=j;if ((P2-P1)==1)    % 判断是否为垂直方向连续的周长像素点Ny=Ny+1;endP1=P2;endend
end    %检测水平方向连读的周长像素点%
P1=0;
P2=0;
Nx=0;                           % 记录水平方向连续周长像素点的个数
for j=1:yfor i=1:xif (BW(i,j)>0)P2=i;if ((P2-P1)==1)    % 判断是否为水平方向连续的周长像素点Nx=Nx+1;endP1=P2;endend
end SN=sum(sum(BW));            % 计算周长像素点的总数
Nd=SN-Nx-Ny;                % 计算奇数码的链码数目H=max(sum(I));              % 计算细胞的高度 
W=max(sum(I'));             % 图象I经矩阵转置后,计算宽度
L=sqrt(2)*Nd+Nx+Ny;         % 计算周长%====四个形态特征值计算===%
A=bwarea(I);                % 计算细胞的面积
C=4*pi*A/(L*L);             % 计算圆度
R=A/(H*W);                  % 计算矩形度
E=min(H,W)/max(H,W);        % 计算伸长度%==设定相关阈值,识别癌细胞==%
Ath1=10000; Ath2=50000;
Cth=0.5;      Rth=0.5;   Eth=0.8;if ((A>=Ath1)&&(A<Ath2))if ((C>=Cth)&&(R<=Rth)&&(E>Eth))Cancer_Right=1                     % 结论为癌细胞end    
else if (A>=Ath2)Cancer_Right=2                     % 结论为可疑小细胞癌细胞      
elseCancer_Right=0                         % 结论为正常细胞 
end
endfigure(1);
imshow(I);
figure(2);
imshow(BW);


运行结果:

Cancer_Right =


     1





更多推荐

癌细胞形态学分析

本文发布于:2024-02-26 01:37:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1700933.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:形态学   癌细胞

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!