Antwort

1

Drehen Sie Ihre Koordinaten in Ganzzahlen. Dann Funktion poly2mask Ihre Grenze auf eine binäre Maske, mit dieser Syntax konvertieren:

BW = poly2mask(x, y, m, n) 

wobei x und y sind Vektoren mit einer Liste von Koordinaten der Grenzpunkte; m und n sind die Breite und Höhe für das neue Binärbild BW. Beispiel (angepasst von Link oben):

x = [63 186 190 54 63]; 
y = [60 60 204 209 60]; 
bw = poly2mask(x,y,256,256); 
imshow(bw) 

Link to resulting figure

Dann für ein Rechteck in Koordinaten (i, j), mit einer Breite w und Höhe h, würden Sie die Informationen, die Sie als

wollen erhalten
i = 128; j = 128; 
w = 100; h = 100; 

aux = bw(i:i + h - 1, j:j + w - 1); 

figure, imshow(aux) 
+0

Vielen Dank für Ihre Antwort. Ich brauche jedoch etwas mehr. Angenommen, ich habe die Gesamtgrenze einer Stadt basierend auf Längen (X) und Breiten (Y). Jetzt lade ich ein rechteckiges Bild herunter, das ich basierend auf der Gesamtbegrenzung maskieren sollte. Dieses rechteckige Bild kann überall in der Stadt sein. Ich möchte daran erinnern, dass es zwei separate Bilder in zwei verschiedenen Zoomstufen gibt. –

+0

@MohammadAliNematollahi Nichts davon ist in Ihrer ursprünglichen Frage. Die Anforderungen zu ändern, nachdem jemand freundlich genug gewesen ist, um eine Antwort zu geben, ist sehr schlechte Manieren. – beaker

Verwandte Themen