2016-12-12 8 views
-2

Ich möchte jede Zeile mit eindeutiger Nummer in einem Bild beschriften. Ich habe diesen Markierungsalgorithmus (siehe unten) verwendet, aber er markiert Linien nicht richtig. bitte hilfe. Und auch das gespeicherte Bild zeigt keine Nummern/Label auf Zeilen.So beschriften Sie Zeilen im Bild

Code:

imBin = imread('lines.png'); 
L = bwlabel(imLines); 
s = regionprops(L, 'Centroid'); 
imwrite(imLines, 'labeled-lines.png'); 
figure, subplot(1,2,1), imshow(img), title('original image'); 
subplot(1,2,2), imshow(imLines), title('image with lines'); 
hold on 
for k = 1:numel(s) 
    c = s(k).Centroid; 
    text(c(1), c(2), sprintf('%d', k), ... 
     'HorizontalAlignment', 'center', ... 
     'VerticalAlignment', 'middle'); 
end 
hold off 

Output:

enter image description here

+2

Was ist das Problem? Ich sehe die Etiketten gut. Es ist nur so, dass der Schwerpunkt von Form 1 im schwarzen Bereich liegt. Ändern Sie Ihre Beschriftungsfarbe in Rot. Wie lautet der Code zum Speichern Ihres Bildes? Sie sollten 'saveas' oder etwas ähnliches verwenden und nicht' imwrite'. – Suever

+0

Sie sollten fragen [Ihre Klassenkamerad] (http://stackoverflow.com/questions/41067219/text-on-the-objects-in-image-get-disappeared-when-using-imwrite), wie es geht – Suever

+0

Diese Frage besteht aus zwei Teilen, nur der zweite Teil ist ein Duplikat von http://stackoverflow.com/questions/24919041/save-gui-figure-in-matlab?noredirect=1&lq=1 – Shai

Antwort

0

Die angewandte Funktion bwlabel wird "label" das Binärbild.

Wenn zwischen zwei weißen Pixeln eine weiße Verbindung besteht, gehören sie zur selben Region und erhalten daher die gleiche Bezeichnung.

Der Algorithmus kümmert sich nicht um irgendwelche Formen. Was verbunden ist, gehört zusammen.

Sie können also nicht erwarten, dass jede "Zeile" eine eigene Nummer erhält, wenn sie sich berühren.

Wenn Sie die Zeilen verwenden möchten, wenden Sie Hough Transformation oder etwas ähnliches an.

Für das Anzeigeproblem, wie bereits in den Kommentaren und verknüpften Antworten erwähnt, müssen Sie nur die Zahlenfarbe ändern und/oder die Textposition auf das Weiß verschieben. Sie können keine schwarzen Zahlen auf schwarzem Hintergrund sehen.

Verwandte Themen