【发布时间】:2018-01-08 09:48:39
【问题描述】:
我正在自学/探索 Matlab。 我正在做一些基本的图像处理和分析。
我正在学习的教程将 RGB 图像转换为 LaB 颜色空间。
RGB = imread('Images/cow.jpg');
cform = makecform('srgb2lab');
lab_he = applycform(RGB,cform);
imshow(lab_he);
到目前为止一切正常。下一步是使用 k-means 聚类对 a b 颜色空间中的颜色进行分类。这是 sn-p 提供的代码。=:
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) 参数/函数在做什么?我意识到它正在将某些东西转换为双精度值。我只是不知道正在转换什么。
【问题讨论】:
-
如果不将其转换为双精度会发生什么,即
ab = lab_he(:,:,2:3);? -
查看
colon的文档 -
哇,可能应该先看看那里。谢谢!