调试过程发现旭日派无法直接用opencv的VideoCapture()调用CSI摄像头,
需要使用libsrcampy库来获取CSI摄像头图像,
但是从libsrcampy获取的摄像头图像格式是NV12,无法直接在opencv上显示或者处理,
为了能够使用opencv的API来处理图像,
需要增加NV12转化成bgr像素格式的函数。
# nv12图像转化成bgr图像
def nv12_to_bgr_opencv(image, width=640, height=480):frame = np.frombuffer(image , dtype=np.uint8)img_bgr = cv.cvtColor(frame.reshape((height * 3 // 2, width)), cv.COLOR_YUV2BGR_NV12)return img_bgr
附件有完整的代码,运行命令:sudo pyhton3 mipi_camera_opencv.py
需要使用opencv来做开发的小伙伴可以做个参考,效果如下图所示。
opencv显示图像.png
完整代码:
#!/usr/bin/env python3
import sys
import os
import cv2 as cv
import time
import numpy as np# Camera API libs
from hobot_