Toybrick

RK1808M0 在PC端运行

anqingcheng

注册会员

积分
73
楼主
发表于 2020-11-6 18:01:02    查看: 6451|回复: 1 | [复制链接]    打印 | 只看该作者
import numpy as np
import cv2
import yolov3 as yolov
from rknn.api import RKNN

if __name__ == '__main__':


    capture = cv2.VideoCapture(0)  # VideoCapture 读取本地视频和打开摄像头
    height = capture.get(cv2.CAP_PROP_FRAME_HEIGHT)  # 计算视频的高
    width = capture.get(cv2.CAP_PROP_FRAME_WIDTH)  # 计算视频的宽

    print(height)
    print(width)

    # cv2.VideoWriter 保存摄像头视频            #VideoWriter_fourcc()输入四个字符代码即可得到对应的视频编码器
    out = cv2.VideoWriter("D:/demo.mp4", cv2.VideoWriter_fourcc('D', 'I', 'V', 'X'), 15,
                          (np.int(width), np.int(height)), True)
    # Create RKNN object
    rknn = RKNN()
    print('done')
    rknn.load_rknn(path='./yolov3_tiny.rknn')
    ret = rknn.init_runtime()
    if ret != 0:
         print('Init runtime environment failed')
         exit(ret)

    while True:
        ret, frame = capture.read()
        if ret is True:
            frame = cv2.flip(frame, 1)  # cv2.flip 图像翻转

            rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)  # cvtColor()颜色空间转换函数

            cv2.imshow("frame", rgb)
            x, y = rgb.shape[0:2]

            cv2.resize(rgb, (416, 416), rgb)
            #cv2.imwrite("aa.jpg",rgb);
            # Inference
            print('--> Running model')
            outputs = rknn.inference(inputs=[rgb])
            data = yolov.post_process(outputs)
            print(data)

            c = cv2.waitKey(10)
            if c == 27:
                break
        else:
            break
    cv2.destroyAllWindows()
    rknn.release()
    # perf
    print('--> Begin evaluate model performance')
    #perf_results = rknn.eval_perf(inputs=[img])
    print('done')


/home/gerrard/PycharmProjects/pythonProject/venv/bin/python /home/gerrard/PycharmProjects/pythonProject/yolov3_test.py
done
--> Running model
W [rknn_inputs_set:2063] warning: inputs[0] expected input len is 519168, but actual len is 921600!
(None, None, None)
W [rknn_inputs_set:2063] warning: inputs[0] expected input len is 519168, but actual len is 921600!
--> Running model
(None, None, None)
W [rknn_inputs_set:2063] warning: inputs[0] expected input len is 519168, but actual len is 921600!
--> Running model
(None, None, None)
W [rknn_inputs_set:2063] warning: inputs[0] expected input len is 519168, but actual len is 921600!
--> Running model

使用的是官方的./yolov3_tiny.rknn模型,但是一直识别失败!

回复

使用道具 举报

jefferyzhang

版主

积分
13574
沙发
发表于 2020-11-7 09:52:32 | 只看该作者
失败日志是什么?
计算卡的rknn driver升级到最新的了么?
rknntoolkit和计算卡的drv版本是否匹配
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表