细胞边界的BW浓度

问题描述

我正在尝试在黑白图像中找到细胞浓度的边界。我或多或少地画出了我想要达到的目标。边界可以平滑化,不必进行修补。但是无论如何离群值都应排除在外。那就是为什么我不想拿最低分。你能提出任何建议吗?我把原始图像作为示例作为附件。 BW Image

boundary

解决方法

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

使用过:

•均值过滤器

•窗口功能

•Sobel过滤器

Cell Boundary Detection

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);