在使用YOLO V3时,可以通过以下步骤将检测到的对象名称保存为.txt文件:
import numpy as np
import cv2
import matplotlib.pyplot as plt
net = cv2.dnn.readNetFromDarknet(config_path, weights_path)
这里的config_path
和weights_path
分别是YOLO V3模型的配置文件路径和权重文件路径。
classes = []
with open(classes_path, "r") as f:
classes = [line.strip() for line in f.readlines()]
这里的classes_path
是包含类标签(对象名称)的文本文件路径。
image = cv2.imread(image_path)
blob = cv2.dnn.blobFromImage(image, 1/255.0, (416, 416), swapRB=True, crop=False)
net.setInput(blob)
layer_names = net.getLayerNames()
output_layers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()]
outs = net.forward(output_layers)
这里的image_path
是待检测的图像文件路径。
objects = []
for out in outs:
for detection in out:
scores = detection[5:]
class_id = np.argmax(scores)
confidence = scores[class_id]
if confidence > confidence_threshold:
objects.append(classes[class_id])
with open(output_path, "w") as f:
for obj in objects:
f.write(obj + "\n")
这里的confidence_threshold
是置信度阈值,用于过滤低置信度的检测结果;output_path
是保存对象名称的.txt文件路径。
通过以上步骤,你可以将YOLO V3检测到的对象名称保存为.txt文件。这个方法适用于任何使用YOLO V3进行目标检测的场景。
腾讯云相关产品和产品介绍链接地址:
请注意,以上答案中仅提供了一些相关的腾讯云产品链接作为参考,具体选择适合的产品需要根据实际需求进行判断和决策。
领取专属 10元无门槛券
手把手带您无忧上云