Matlab从图像转换为双精度

时间:2017-08-01 13:31:33

标签: matlab cluster-analysis

我是自学/探索Matlab。 我正在做一些基本的图像处理和分析。

以下教程将RGB图像转换为LaB颜色空间。

 RGB = imread('Images/cow.jpg');
    cform = makecform('srgb2lab');
    lab_he = applycform(RGB,cform);
    imshow(lab_he);

到目前为止,一切正常。下一步是使用k-means聚类对a b颜色空间中的颜色进行分类。这是提供的代码段。=:

ab = double(lab_he(:,:,2:3));
nrows = size(ab,1);
ncols = size(ab,2);
ab = reshape(ab,nrows*ncols,2);
nColors = 3;

有人可以向我解释传递给double()函数的内容吗? 什么是lab_he(:,:,2:3)参数/函数在做什么?我意识到它正在将某些东西转换为双精度值。我只是不知道正在转换什么。

以下是我关注的教程:https://www.mathworks.com/help/images/examples/color-based-segmentation-using-k-means-clustering.html

1 个答案:

答案 0 :(得分:0)

根据教程,lab_he变量是使用applycform函数创建的。根据{{​​3}},此函数最多传递三个值。因此,double函数接收he和cform参数以及某些向量的第二到第三空格以用于类支持。祝你的项目好运!

修改了超链接。