私はMatlabを自習/探検しています。 私はいくつかの基本的な画像の操作と分析を行っています。画像から倍精度に変換するMatlab
私が次のチュートリアルでは、RGBイメージをLaBカラースペースに変換します。
RGB = imread('Images/cow.jpg');
cform = makecform('srgb2lab');
lab_he = applycform(RGB,cform);
imshow(lab_he);
この時点まではすべて正常に動作します。次のステップは、k平均クラスタリングを使用してa b色空間内の色を分類することである。これは、提供されたコードスニペットた=:。
ab = double(lab_he(:,:,2:3));
nrows = size(ab,1);
ncols = size(ab,2);
ab = reshape(ab,nrows*ncols,2);
nColors = 3;
誰かがダブル()関数に渡されているものを私に説明できますか? lab_he(:、:、2:3)パラメータ/関数は何をしていますか?私はそれが何かを倍精度値に変換していることを理解しています。私はただ何が変換されているのか分かりません。 https://www.mathworks.com/help/images/examples/color-based-segmentation-using-k-means-clustering.html
「ab = lab_he(:、:、2:3);」というようにdoubleに変換しないとどうなりますか? – m7913d
[** 'colon' **](https://www.mathworks.com/help/matlab/ref/colon.html)のドキュメントを参照してください –
うわー、おそらく最初にそこを見ていたはずです。ありがとう! – Mark