Dies ist ein Beispiel einer COCO RLE-Maske – https://pastebin.com/ZhE2en4C
Dies ist die Ausgabe des YOLOv8-Validierungslaufs, entnommen aus der generierten Predictions.json-Datei.
Ich versuche, diese Zeichenfolge in JavaScript zu dekodieren und auf der Leinwand darzustellen. Die codierte Zeichenfolge ist gültig, da ich in Python Folgendes tun kann:
from pycocotools import mask as coco_mask from PIL import Image example_prediction = { "image_id": "102_jpg", "category_id": 0, "bbox": [153.106, 281.433, 302.518, 130.737], "score": 0.8483, "segmentation": { "size": [640, 640], "counts": "<RLE string here>" } } def rle_to_bitmap(rle): bitmap = coco_mask.decode(rle) return bitmap def show_bitmap(bitmap): img = Image.fromarray(bitmap.astype(np.uint8) * 255, mode='L') img.show() input("Press Enter to continue...") img.close() mask_bitmap = rle_to_bitmap(example_prediction["segmentation"]) show_bitmap(mask_bitmap)
Ich kann die entschlüsselte Maske sehen.
Gibt es eine Bibliothek, die verwendet werden kann, um dieselbe Zeichenfolge in JavaScript zu dekodieren und in Image
zu konvertieren? Ich habe versucht, in den Quellcode von Pycocotools einzutauchen, aber es gelang mir nicht.
您可以在画布上绘制蒙版,然后根据需要导出图像。
对于实际绘图,您可以使用两种方法:
以下是两者的示例: