2016-05-31 12 views
1

Ich möchte eine Frage über das Teilen eines Binärbildes stellen. Ich habe versucht, den folgenden Code zu verwenden:Wie man das Bild in Zeile für Stück (Plot) in Matlab unterteilt

%# FAPatch is the binary image  
figure,imshow(FAPatch) 
hold on 

%# PositionTab is a table that include the 3 outest point. 
for i=1 :3 
    eval(['p' num2str(i) '= PositionTab(' num2str(i) ',:);']); 
end 

%#C is the centroid [130,59]. And this is the code I use to draw the lines from centroid to the point 
plot([C(1),p1(2)],[C(2),p1(1)],[C(1),p2(2)],[C(2),p2(1)],[C(1),p3(2)],[C(2),p3(1)],'Color','r','LineWidth',2) 

Dies ist die Tabelle:

PositionTab

ich ein binäres Bild mit Linien erhalten:

binary image with line

Wie kann ich gespalten Dieses Bild in drei kleine Stücke? Dies ist keine gerade Linie und kann zufällig sein, ich kann keine Lösung finden.

+0

Habe meine Antwort aussortieren Ihr Problem? Wenn ja, dann überlege dir bitte, ob du es als Antwort akzeptierst - indem du auf das grüne Häkchen neben der Stimmenzahl klickst. Wenn nicht, sag bitte, was nicht funktioniert hat, damit ich oder jemand anderes dir weiter helfen kann. Vielen Dank. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –

Antwort

0

Ich denke, das ist, was du meinst ...

Zum jeder der drei Punkte, an denen die roten Linien, die die Ränder des Bildes entsprechen. Verwenden Sie die Punkte unmittelbar darüber und darunter, wenn an einer vertikalen Kante oder den Punkten links und rechts davon, wenn an einer horizontalen Kante als Startwert für eine rote Flutfüllung, alle roten Punkte transparent gemacht werden sollen.

enter image description here

+0

Ja. Vielen Dank. –