请问怎么用 opencv 构建 yolov8 模型需要的图片格式
收藏回复举报
请问怎么用 opencv 构建 yolov8 模型需要的图片格式
t('forum.solved') 已解决
新人帖
发表于2024-07-19 18:05:42
0 查看

使用 dvpp 传入 jpg 是可以的

resource = AclLiteResource()
    resource.init()
    dvpp = AclLiteImageProc(resource)
    image = AclLiteImage(input_path)


    image_input = image.copy_to_dvpp()

    yuv_image = dvpp.jpegd(image_input)


    
    # execute resize
    resized_image = dvpp.crop_and_paste(yuv_image, image.width, image.height, yolo_model_width, yolo_model_height)

    yolo_model = AclLiteModel(yolo_model_path)

    result = yolo_model.execute([resized_image])[0]

但是 openvc 不行

resource = AclLiteResource()
    resource.init()
    dvpp = AclLiteImageProc(resource)
    cap = cv2.VideoCapture("rtsp://192.168.9.137:8554/mn/63.264")
    ret, frame = cap.read()
    img = frame[:, :640, :]
    img = cv2.resize(img, (640, 640))
    img = img[:, :, ::-1].transpose(2, 0, 1)
    # img = np.ascontiguousarray(img, dtype=np.float32) / 255.0
    result = yolo_model.execute([img])[0]
    yolo_model = AclLiteModel(yolo_model_path)

不能出结果

警告信息

[WARNING] Input[0] size: 1228800 not equal om size: 614400, may cause inference result error, please check model input
[WARNING] Input[0] size: 1228800 not equal om size: 614400, may cause inference result error, please check model input
[WARNING] Input[0] size: 1228800 not equal om size: 614400, may cause inference result error, please check model input
[WARNING] Input[0] size: 1228800 not equal om size: 614400, may cause inference result error, please check model input

这个 size 是什么意思

def yuv420sp_size(width, height):
    """Calculate yuv420sp image size
    Args:
        width: image width
        height: image height
    Returns:
        image data size
    """
    return int(width * height * 3 / 2)

我要发帖子