更新时间:2022-02-22 GMT+08:00

示例-预处理

预处理模块示例如下所示:

import hilens
import cv2
import numpy as np

def run():
    # 构造摄像头
    cap = hilens.VideoCapture()
    # 获取一帧画面,自带摄像头获取图像为YUV格式
    # 自带摄像头默认分辨率为720p,所以YUV图像的大小为(720*3/2,1280)
    frame = cap.read()

    # 转换图片的颜色格式,YUV转BGR需要通过opencv完成
    image_bgr = cv2.cvtColor(image_yuv, cv2.COLOR_YUV2BGR_NV21)

    # 转换图片的颜色格式,BGR/RGB转YUV可通过hilens.cvt_color接口
    image_yuv = hilens.cvt_color(image_bgr, hilens.BGR2YUV_NV21)

    # 构造预处理器,只支持YUV_NV21/NV12格式图片处理
    proc = hilens.Preprocessor()
    # 调整图片大小
    resized = proc.resize(image_yuv, 640, 480,0)
    # 裁剪图片
    croped = proc.crop(image_yuv, 10, 20, 64, 64, 0)
    
    # 其他处理
    pass

if __name__ == '__main__':
    hilens.init("hello")
    run()
    hilens.terminate()