在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读取图像并使用监督库绘制的示例:
import supervision as sv
import cv2
image = cv2.imread("image.jpeg")
sv.plot_image(image)
通过一行代码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替换为任何支持的监督库数据加载器,包括:
这是一个模型在图像上运行的示例:成功地绘制了带有边界框和标签的图像。
可以使用监督库的sv.plot_image()
函数在Google Colab中用一行代码绘制图像。这个函数还可以与监督库的注释器API一起使用,以可视化对象检测、分割和关键点模型的结果。要了解更多关于监督库的计算机视觉和图像处理工具,请参考supervision API documentation
。