使用OpenCV或者matplotlib给照片里的物体添加方框和文字说明

本文介绍了如何利用OpenCV的cv2.rectangle和cv2.putText结合tensornets的YOLO模型在照片上进行物体检测并添加方框与文字。同时,也探讨了使用matplotlib的matplotlib.pyplot.text和matplotlib.patches.Rectangle类实现相同功能的方法,展示了两种库在图像标注上的应用。
摘要由CSDN通过智能技术生成

目录

 

1. OpenCV

2. matplotlib


1. OpenCV

这里我们用YOLOv3COCO的模型来给照片做检测。我们用tensornets导入预训练的YOLO模型,用OpenCV给照片添加方框和文字,用matplotlib显示图片。

tensornets提供对各种预训练模型的高层接口,包括YOLOv2、YOLOv3、Faster RCNN。

OpenCV中的cv2.rectanglecv2.putText两个函数分别给图片添加方框和文字。请点击超链接查看两个函数的文档。

我们输入这样的图片

用下面这些代码处理上图。

import tensorflow as tf
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
import cv2 as cv
import tensornets as nets
from tensornets.datasets.coco import classnames

# 输入占位符
input_img = tf.placeholder(shape=(None, 416, 416, 3), dtype=tf.float32)
# 实例化YOLO模型
yolov3 = nets.YOLOv3COCO(input_img)

img_path = './road.bmp'
# 读入图片
image = Image.open(img_path)
# 放缩图片到指定大小
image_resize = image.resize((416, 416))
image_resize = np.expand_dims(np.asarray(image_resize), 0)

# TensorFlow的配置
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
# 运行YOLO模型获得各个物体类别的方框及其可信度
with tf.Session(config=config) as sess:
    sess.run(yolov3.pretrained())
    res = sess.run(yolo
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值