YOLO基础教程(二):图片识别

本文介绍了YOLO(You Only Look Once)在图片识别中的应用。通过将图片输入YOLO网络,解析返回的物体标签、置信度和边界框坐标,可以实现对目标的定位和标注。程序展示了如何提取和利用这些信息进行目标识别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本思想:将图片传入到YOLO网络中进行识别,解析返回的信息,进行画框,写文字。

返回信息的格式:[{'label': 'dog', 'confidence': 0.87201697, 'topleft': {'x': 282, 'y': 152}, 'bottomright': {'x': 555, 'y': 509}}]

对不同信息进行提取即可得到相关信息,详情见程序。

import cv2 as cv
from darkflow.net.build import TFNet
import matplotlib.pyplot as plt

# 各个文件的地址,根据自己的路径定义,threshold为阈值,通过修改此数值可以改变识别精度,电脑没GPU的将gpu去掉即可
option = {
    'model': 'cfg/yolo.cfg',
    'load': 'bin/yolo.weights',
    'threshold': 0.5,
    'gpu': 0.7
}
tfnet = TFNet(option)  # 初始化网络

img = cv.imread("dog.jpg", cv.IMREAD_COLOR)  # 读取文件
# OpenCV读取图像是BGR格式的,plt显示是时候是RGB格式的,所以需要转换一下格式
img = cv.cvtColor(img, cv.COLOR_BGR2RGB)
result = tfnet.return_predict(img)  # 进行预测,返回预测结果
print(result)

tl = (result[0]['topleft']['x'], result[0]['topleft']['y'])  # 提取预测结果中 topleft 左上角的坐标
br = (result[0]['bottomright']['x'], result[0]['bottomright']['y'])  # 提取预测结果中 bottomright 右下角的坐标
label = result[0]['label']  # 提取标签

img = cv.rectangle(img, tl, br, (0, 255, 0),
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值