使用监督库在Google Colab中绘制图像

Google Colab中绘制图像时,如果内置的绘图功能不能正确工作,许多人会寻求替代方案,例如Google的OpenCV绘图函数、matplotlib或其他包。本文将介绍如何使用一个开源的Python包——监督库(supervision),它提供了广泛的工具,用于处理图像和计算机视觉模型的输出。

安装监督库

首先,需要在Colab中安装监督库。可以通过以下命令来安装:

!pip install supervision

绘制图像

将使用监督库中的sv.plot_image()函数来绘制图像。这个函数支持两种格式的图像输入:NumPy数组(OpenCV使用的格式)和PIL(Python Imaging Library使用的格式)。在Colab笔记本的代码单元格中,添加以下代码:

import supervision as sv sv.plot_image(image)

在上面的代码中,将“image”替换为NumPy数组或PIL图像。

从OpenCV绘制图像示例

以下是一个使用OpenCV读取图像并使用监督库绘制的示例:

import supervision as sv import cv2 image = cv2.imread("image.jpeg") sv.plot_image(image)

在Colab中使用监督库绘制函数

通过一行代码sv.plot_image(),就能够绘制图像。

绘制计算机视觉检测结果

对于计算机视觉用例,可能希望在Google Colab中显示结果之前,在图像上绘制检测结果。例如,如果正在使用一个对象检测模型并希望绘制预测结果,可以使用以下代码:

import cv2 import supervision as sv from inference import get_model model = get_model(model_id="yolov8n-640") image = cv2.imread("") results = model.infer(image)[0] detections = sv.Detections.from_inference(results) box_annotator = sv.BoundingBoxAnnotator() label_annotator = sv.LabelAnnotator(text_position=sv.Position.CENTER_OF_MASS) annotated_image = box_annotator.annotate( scene=image, detections=detections) annotated_image = label_annotator.annotate( scene=annotated_image, detections=detections) sv.plot_image(annotated_image)

在上述代码中,加载了一个模型,对模型进行了推理,然后使用框和标签注释器显示了结果。可以将from_inference替换为任何支持的监督库数据加载器,包括:

  • from_deepsparse (Deepsparse)
  • from_detectron2 (Detectron2)
  • from_mmdetection (MMDetection)
  • from_sam (Segment Anything Model)
  • from_yolo_nas (YOLO-NAS)

这是一个模型在图像上运行的示例:成功地绘制了带有边界框和标签的图像。

可以使用监督库的sv.plot_image()函数在Google Colab中用一行代码绘制图像。这个函数还可以与监督库的注释器API一起使用,以可视化对象检测、分割和关键点模型的结果。要了解更多关于监督库的计算机视觉和图像处理工具,请参考supervision API documentation

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485