2017-11-22 3 views
0

Ich möchte grundsätzlich eine kreisförmige Maske für mein Bild mit den Codes here machen. Aber ich beschwere mich wie Undefined function or variable 'imageSize'. Ich verstehe nicht warum. Ich habe MatLab 2017b mit Image Processing Toolbox. Könnte mir jemand helfen?Warum beanstandet mein MatLab eine undefinierte Funktion?

Hier ist mein Code:

ci = [1810, 2550, 1085]; % center and radius of circle ([c_row, c_col, r]) 
    [xx,yy] = ndgrid((1:imageSize(1))-ci(1),(1:imageSize(2))-ci(2)); 
    mask = uint8((xx.^2 + yy.^2)<ci(3)^2); 
    croppedImage = uint8(zeros(size(b))); % b is my original image 
    croppedImage(:,:,1) = b(:,:,1).*mask; 
    croppedImage(:,:,2) = b(:,:,2).*mask; 
    croppedImage(:,:,3) = b(:,:,3).*mask; 
    imshow(croppedImage); 
+0

Sie sollten imageSize und alle anderen Variablen definieren. Zum Beispiel: imageSize = [10 20]; – dhanushka

+0

@dhanushka Ah Danke! Jetzt merke ich, dass ich diese imageSize-Zeile versehentlich lösche! Vielen Dank! – Ziming

Antwort

0

Haben Sie jemals imageSize als Variable überall definieren? Ich würde vermuten, dass Sie nicht so Matlab nicht weiß, was daraus zu machen und damit den Fehler:

Undefined function or variable 'imageSize'

Vielleicht ist es, wenn die Größe des Bildes definieren.

>> imageSize = size(b); 
+0

Ja, ich lösche versehentlich diese Zeile. Jetzt löse ich es und danke für das Aufzeigen! – Ziming

Verwandte Themen