【问题标题】:BW concentration of cell boundariesBW 细胞边界浓度
【发布时间】:2021-01-13 19:01:23
【问题描述】:

我试图在黑白图像中找到细胞浓度的边界。我或多或少地画出我想要实现的目标。边界可以平滑,它不必是exatch。但无论如何,应排除异常值。这就是为什么我不想采取最低点。你能提出任何想法吗?我已将原始图像作为附件作为示例。 BW Image

【问题讨论】:

    标签: matlab classification cell shapes


    【解决方案1】:

    尝试使用一些基本的图像处理概念来试一试。没有得到最好的结果,但可能这可以作为一个起点。我想它们是可以使用的更好的方法和模型。我还必须用白色垂直线裁剪原始图像的左侧。

    使用:

    • 均值过滤器

    • 窗口函数

    • 索贝尔过滤器

    clc;
    clear;
    close all;
    File_Name = "Cell_Image.png";
    Image = imread(File_Name);
    Greyscale_Image = rgb2gray(Image);
    
    Denoised_Image = filter2(fspecial('average',45),Greyscale_Image)/255;
    Edge_Image = edge(Denoised_Image,'sobel');
    
    [Image_Height,Image_Width,Depth] = size(Image);
    
    Max_Image = zeros(Image_Height,Image_Width);
    Index_Bank = zeros(1,Image_Width);
    
    for Column_Scanner = 1: +1: Image_Width
    
        Indicies = find(Edge_Image(:,Column_Scanner));
        Index = max(Indicies,[],'all');
    %     Max_Image(Index+1,Column_Scanner) = 1;
        if sum(Index) > 0
        Index_Bank(1,Column_Scanner) = Index;
        end
    end
    
    windowSize = 20; 
    b = (1/windowSize)*ones(1,windowSize);
    a = 0.95;
    Max_Data = filter(b,a,Index_Bank);
    Max_Data = round(Max_Data);
    
    
    for Column_Scanner = 1: +1: Image_Width
        Image(Max_Data(1,Column_Scanner),Column_Scanner,1) = 255;
    end
    
    
    imshow(Image);
    

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 1970-01-01
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-11
      相关资源
      最近更新 更多