• 癌细胞形态学分析


    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:x
        for j=1:y
            if (BW(i,j)>0)
                P2=j;
                if ((P2-P1)==1)    % 判断是否为垂直方向连续的周长像素点
                    Ny=Ny+1;
                end
                P1=P2;
            end
        end
    end    
    
    %检测水平方向连读的周长像素点%
    P1=0;
    P2=0;
    Nx=0;                           % 记录水平方向连续周长像素点的个数
    for j=1:y
        for i=1:x
            if (BW(i,j)>0)
                P2=i;
                if ((P2-P1)==1)    % 判断是否为水平方向连续的周长像素点
                    Nx=Nx+1;
                end
                P1=P2;
            end
        end
    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                     % 结论为可疑小细胞癌细胞      
    else
        Cancer_Right=0                         % 结论为正常细胞 
    end
    end
    
    figure(1);
    imshow(I);
    figure(2);
    imshow(BW);


    运行结果:

    Cancer_Right =


         1





  • 相关阅读:
    eclipse安装pydev
    pymongo常见的高级用法
    android sdk下载SDK Platform失败记录
    centos7 yum安装redis(转)
    centos7 将服务添加到systemctl
    python Parent.__init()和super(Child, self)的区别
    流畅的python第二十章属性描述符学习记录
    流畅的python第十九章元编程学习记录
    python 协程的学习记录
    [转]Shell脚本之无限循环的两种方法
  • 原文地址:https://www.cnblogs.com/alan666/p/8312033.html
Copyright © 2020-2023  润新知