我正在对与背景具有相似颜色的圆形对象进行图像分割。图像是RGB,但RGB值给出灰色的色调,即使图像看起来灰色,它也不是灰色的。在分割过程中,我必须应用渐变过滤器,并通过重构打开和关闭,以便在制作将用于分割的二进制蒙版之前将圆形对象与背景分开。我在这个过程中使用的一些功能只接受二维数组输入。事实上,图像本身的二值化只能在二维阵列输入中完成,而不能在三维阵列的RGB图像中完成。所以,我试图在做任何事情之前将我的RGB图像转换成灰色,但不是灰色。但是,当我使用rgb2gray函数时,我收到以下MATLAB错误: 使用rgb2gray> parse_inputs(第77行)时出错 MAP必须是m x 3数组。rgb2gray中的错误:MAP必须是m×3阵列
rgb2gray中的错误(第52行) [X,threeD] = parse_inputs(X);
Mask_Biophysics中的错误(第2行) Frame = rgb2gray(rgb);
有谁知道这个错误的含义和如何解决它? 这是给我的错误代码的一部分:
rgb = imread('kids.tif'); Frame = rgb2gray(rgb);
注意我正在使用预先安装的matlab图像“kids.tif”,所以,错误与我的特定图像无关。 kids.tif是一个RGB颜色图像在matlab
您不显示如何调用'rgb2gray'或输入图像的类型/范围。显然MATLAB认为你的图像是一个色彩映射。 – beaker
Frame1 = imread('kids.tif'); Frame = rgb2gray(Frame1); – user27407
我上面发布的是我的实际代码。你提到的是我从错误中解释的东西。所以,我尝试了与预先安装的matlab图像相同的代码“kids.tif – user27407