Files
autoanno/localdetect.py
wangjialiang e0626adfb6 First
2025-11-12 17:04:47 +08:00

39 lines
1.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
import cv2
from ultralytics import YOLO
# 加载模型
model = YOLO("best.pt")
# 输入文件夹路径
input_dir = "test_images/"
temp_dir = "temp_rgb_images"
# 创建临时文件夹用于保存转换后的RGB图片
os.makedirs(temp_dir, exist_ok=True)
# 扫描文件夹将灰度图转换为RGB
for file in os.listdir(input_dir):
if file.lower().endswith(('.jpg', '.jpeg', '.png', '.bmp', '.tiff')):
path = os.path.join(input_dir, file)
img = cv2.imread(path, cv2.IMREAD_UNCHANGED)
# 如果是灰度图转换为3通道
if len(img.shape) == 2 or img.shape[2] == 1:
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
# 保存到临时目录
cv2.imwrite(os.path.join(temp_dir, file), img)
# 使用转换后的图像文件夹进行检测
results = model.predict(source=temp_dir, conf=0.2, save=True)
# 输出检测信息
for result in results:
boxes = result.boxes # 检测框
for box in boxes:
cls = int(box.cls[0])
conf = float(box.conf[0])
xyxy = box.xyxy[0].tolist()
print(f"类别: {model.names[cls]}, 置信度: {conf:.2f}, 坐标: {xyxy}")