Ich bin selbst Lehre/Erforschung Matlab. Ich arbeite an grundlegenden Bildmanipulationen und Analysen.Matlab Convert in Double Precision von Bild
Das Tutorial, das ich befolge, konvertiert ein RGB-Bild in den LaB-Farbraum.
RGB = imread('Images/cow.jpg');
cform = makecform('srgb2lab');
lab_he = applycform(RGB,cform);
imshow(lab_he);
Alles funktioniert gut bis zu diesem Punkt. Der nächste Schritt besteht darin, die Farben im a b Farbraum unter Verwendung von k-Means Clustering zu klassifizieren. Dies wurde der Code-Schnipsel zur Verfügung gestellt =.
ab = double(lab_he(:,:,2:3));
nrows = size(ab,1);
ncols = size(ab,2);
ab = reshape(ab,nrows*ncols,2);
nColors = 3;
Kann mir jemand erklären, was mit dem Doppel() Funktion übergeben wird? Was macht lab_he (:,:, 2: 3)? Ich stelle fest, dass es etwas in einen doppelten Präzisionswert umwandelt. Ich weiß einfach nicht, was konvertiert wird. Hier
ist das Tutorial Ich verfolge: https://www.mathworks.com/help/images/examples/color-based-segmentation-using-k-means-clustering.html
Was passiert, wenn Sie es nicht in double konvertieren, z. B. 'ab = lab_he (:,:, 2: 3);'? – m7913d
Siehe die Dokumentation von [** "Doppelpunkt" **] (https://www.mathworks.com/help/matlab/ref/colon.html) –
Wow, sollte wahrscheinlich zuerst dort zuerst gesucht haben. Vielen Dank! – Mark