首页 > 解决方案 > 自动设置参考颜色的问题

问题描述

我试图从图像中分割出蓝色细胞,在此处输入图像描述

我发现使用颜色距离方法非常有效,但是我只能手动设置 RGB 中的参考颜色。既然要做批处理,就需要自动选择参考色,有什么好的解决办法吗?

标签: matlabimage-processingimage-segmentationdeconvolution

解决方案


我想针对这个问题介绍两种非常基本的图像处理方法。也许其中之一对您有用。

加载输入图像:

cells = imread('cells.png');

方法#1

选择输入图像的蓝色通道:

cellsBlue = cells(:, :, 3);
imshow(cellsBlue)

输入图像的蓝色通道

做一些阈值。一个非常简单的版本可能是:

cellsSegm = cellsBlue < 100;
imshow(cellsSegm)

蓝色通道中的阈值

之后,您将需要应用一些形态过滤器来改进蒙版。

方法#2

将输入图像转换为HSV颜色空间:

cellsHSV = rgb2hsv(cells);
imshow(cellsHSV)

HSV 色彩空间

选择 HSV 图像的“饱和度”通道:

cellsSat = cellsHSV(:, :, 2);
imshow(cellsSat)

HSV图像的饱和通道

做一些阈值。一个非常简单的版本可能是(注意,HSV 值是 0 和 1 之间的双值):

cellsSegm = cellsSat > 0.5;
imshow(cellsSegm)

饱和通道中的阈值

之后,您将需要应用一些形态过滤器来改进蒙版。


推荐阅读