↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Ich schreibe einen Artikel unter der Annahme, dass ich die folgenden Kenntnisse habe
Es ist eine App wie diese
Wenn Sie labelme öffnen, wird das folgende Fenster geöffnet. (Das Bild ist ein Screenshot des Google-Suchbildschirms. Es ist schwer zu verstehen ...)
Zeichnen Sie beim Erweitern eine Linie an der Stelle. Das Vergrößern und Verkleinern ist sehr einfach.
Ich denke, es ist ungefähr 1 Minute mit diesem richtigen Gefühl. Ziemlich einfach zu bedienen. ..
Speichern Sie den JSON von SAVE auf der linken Seite. Sie können solche Daten erstellen!
{
"version": "4.5.6",
"flags": {},
"shapes": [
{
"label": "dog",
"points": [
[
104.36893203883496,
66.99029126213593
],
[
93.44660194174757,
71.35922330097087
],
Hier weggelassen
[
112.13592233009709,
74.27184466019418
],
[
107.28155339805825,
73.30097087378641
]
],
"group_id": null,
"shape_type": "polygon",
"flags": {}
}
],
"imagePath": "Screenshot 2020-09-14 141400.png ",
"imageData": "Kürzung",
"imageHeight": 405,
"imageWidth": 535
}
Hinweis! Da dieser JSON-Punkt ein Polygonpunkt ist, kann er nicht wie er ist als Maske verwendet werden. .. Wir müssen diesen Punkt also in eine Maske konvertieren.
Zuerst dachte ich daran, es selbst zu implementieren (es ist ein Ärger), aber es gab eine Funktion dafür (das ist richtig). labelme hat ein Modul namens shape.py im Ordner utils, und Sie können mithilfe der Funktion shape_to_mask von JSON nach MASK konvertieren.
Da es jedoch subtil implementiert werden muss, werde ich den Beispielcode veröffentlichen.
import json
with open(path, "r",encoding="utf-8") as f:
dj = json.load(f)
# dj['shapes'][0]Ist diesmal für ein Label.
mask = shape_to_mask((dj['imageHeight'],dj['imageWidth']), dj['shapes'][0]['points'], shape_type=None,line_width=1, point_size=1)
mask_img = mask.astype(np.int)#Boolescher Wert auf 0,In 1 konvertieren
#Ich benutze Anakonda
import matplotlib.pyplot as plt
%matplotlib inline
plt.imshow(mask_img)
Ich konnte es gut beschriften. Auf dieser Ebene dauert es ungefähr 2-3 Minuten vom Öffnen des Bildes bis zum Speichern, nicht wahr?
Bitte lassen Sie mich wissen, wenn Sie andere empfohlene Etikettierwerkzeuge als mich haben. Ich frage mich, ob einige Leute es selbst implementiert haben.
Recommended Posts