手撸keras-yolov3测试代码

本文介绍如何使用Keras-YOLOv3模型进行目标检测,包括视频和图片的检测方法。通过代码示例展示了如何配置模型参数,实现对本地视频和摄像头实时视频的目标检测。

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

测试keras-yolov3模型,直接使用yolo_video.py时报错:
在这里插入图片描述
不知道是什么原因,无法打开摄像头或者视频,总之过程比较复杂(是本人没读懂说明),不如动手撸一段代码进行测试,说干就干,代码如下。主要有两种方式,视频和图片,视频测试分为对已录制的视频进行目标检测,另一种是opencv打开摄像头实时进行目标检测,代码比较粗鲁,

from yolo import YOLO, detect_video
from PIL import Image
import cv2
import numpy as np

# 参数配置
yolo_test_args = {
    "model_path": 'model_data/yolo.h5',
    "anchors_path": 'model_data/yolo_anchors.txt',
    "classes_path": 'model_data/coco_classes.txt',
    "score" : 0.4,
    "iou" : 0.40,
    "model_image_size" : (416, 416),
    "gpu_num" : 1,
}

# 定义图片检测方式辅助函数
def test_image(image_path):
    img = cv2.imread(image_path,1)
    image = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
    r_image = yolo_test.detect_image(image)
    r_image.show()

#  定义视频方式检测辅助函数
def test_video():
    while(True):
        _,img = cap.read()
        image = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) #opencv->pil
        r_image = yolo_test.detect_image(image)
        op_image = cv2.cvtColor(np.asarray(r_image), cv2.COLOR_RGB2BGR) #pil->opencv
        cv2.imshow('test',op_image)

        if cv2.waitKey(16)==ord('q'):
            cap.release()
            cv2.destroyAllWindows()
            break

#  主函数
if __name__=='__main__':
    yolo_test = YOLO(**yolo_test_args)

    # 1 视频测试:两种模式:1.1读取本地视频;1.2打开摄像头
    video_path = './images/test_video.mp4' #本地视频路径
    cap = cv2.VideoCapture(video_path) # 读取本地视频方式

    # cap = cv2.VideoCapture(0)  #打开摄像头方式

    test_video()

    # 2 测试图片
    # image_path = './images/bus.jpg' #图片路径
    # test_image(image_path)

注:原创不易,如需转载,请标明作者与出处

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值