使用 paddlehub的人物识别 对游戏人物识别 绘制方框

无聊逛百度 发现人物识别 ,就产生了一个大胆的想法

在这里插入图片描述

想到这个红框框 ,在游戏里是不是很熟悉? 做个辅助瞄准???

于是录制了一个视频 尝试识别游戏人物,发现完全可以
这。。。岂不是无敌

B站 高清视频 :https://www.bilibili.com/video/BV1HZ4y1g7tb/

对游戏人物识别

如果截取游戏每帧 识别 转成屏幕对应坐标 画方框 完全可以实现,不过识别速度也要加快一下,有兴趣的大佬们,可以接着这个思路去实现

贴出 dome 代码
video2frame 方法是 拆封每帧、识别、画方框
generate_video 是将 画完的每帧 合成视频

import os
import cv2
import paddlehub as hub


def video2frame():
    """
    :param video_path: 视频存放地址
    :param frame_save_path: 生成图片存放地址
    :param time_interval:  帧数的间隔,也就是说隔几帧去一次
    :return:
    """
    video_path = "./5.mp4"
    time_interval = 5


    vidcap = cv2.VideoCapture(video_path)
    success, image = vidcap.read()       #读取视频
    count = 0

    while success:
        success, image = vidcap.read()
        count += 1
        if count % time_interval == 0:
            pedestrian_detector = hub.Module(name="yolov3_darknet53_pedestrian")
            pedestrian_detector.object_detection(images=[image], visualization=True, output_dir="jpg")
            img = cv2.imread("./jpg/image_numpy_0.jpg")
            cv2.imwrite('./jpg/frame%d.png' % count, img)

    print(count)

def generate_video():
    fps = 6
    size = (544, 960)

    videoing = cv2.VideoWriter("./demo5.mp4", cv2.VideoWriter_fourcc(*'XVID'), fps, size, 1)
    path = "./jpg/"
    for index, i in enumerate(os.listdir(path)):
        img = cv2.imread('./jpg/frame%d.png' % (index+5))
        if img is not None:
            print(img.shape)
            videoing.write(img)
    videoing.release()


if __name__ == "__main__":
    # video2frame()

    generate_video()

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值