这是 COCO RLE 掩码的示例 - https://pastebin.com/ZhE2en4C
这是 YOLOv8 验证运行的输出,取自生成的 Predictions.json 文件。
我正在尝试在 JavaScript 中解码该字符串并将其呈现在画布上。编码的字符串是有效的,因为在 python 中我可以这样做:
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)
我可以看到解码后的掩码。
是否有一个库可以用来解码 JavaScript 中的相同字符串并将其转换为 Image
?我尝试深入研究 pycocotools 的源代码,但我做不到。
您可以在画布上绘制蒙版,然后根据需要导出图像。
对于实际绘图,您可以使用两种方法:
以下是两者的示例: