我们在 米尔国产 T 507-H 车规级处理器的开发板上尝试无线图传功能,并且叠加人脸识别检测视频中是否存在人脸。这次使用的是 USB 摄像头,可以直接接在开发板的接口上。 1. 连接摄像头 连接好摄像头后使用指令 dmesg ,看到能读取到摄像头。显示为 HIK 720p Camera 接下来使用 v4l 来检测相机的详细参数。 安装 v4l : sudo apt install v4l-utils 使用 sudo v4l2-ctl --list-devices 查看详细信息与设备号 2. OpenCV 进行人脸识别 这里使用的识别程序借鉴了这个 CSDN 博主的代码 https://blog.csdn.net/qianbin3200896/article/details/123643791 在开始之前,先安装几个库。 sudo apt update 完成更新 sudo apt install python3-opencv pip3 install --upgrade pip pip3 install zmq pip3 install pybase64 首先在开发板上运行如下程序,读取摄像头数据并将数据发送至 PC 。 import cv2 import zmq import base64 def main(): ''' 主函数 ''' IP = '192.168.2.240' #上位机视频接受端的IP地址 # 创建并设置视频捕获对象 cap = cv2.VideoCapture(0) print("open? {}".format(cap.isOpened())) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 320) # 设置图像宽度 cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 240) # 设置图像高度 # 建立TCP通信协议 contest = zmq.Context() footage_socket = contest.socket(zmq.PAIR) footage_socket.connect('tcp://%s:5555'%IP) 接着需要在 PC 上接收开发板传来的信息,将视频分为一帧帧的内容分别存储和处理。当识别到人脸时会用红框圈出。 打开 anaconda prompt 运行如下内容 import cv2 import zmq import base64 import numpy as np def main(): ''' 主函数 ''' context = zmq.Context() footage_socket = context.socket(zmq.PAIR) footage_socket.bind('tcp://*:5555') cv2.namedWindow('Stream',flags=cv2.WINDOW_NORMAL | cv2.WINDOW_KEEPRATIO) while True: print("监听中") frame = footage_socket.recv_string() #接收TCP传输过来的一帧视频图像数据 img = base64.b64decode(frame) #把数据进行base64解码后储存到内存img变量中 npimg = np.frombuffer(img, dtype=np.uint8) #把这段缓存解码成一维数组 source = cv2.imdecode(npimg, 1) #将一维数组解码为图像source # img=cv2.imread('1.png',1) grayimg = cv2.cvtColor(source, cv2.COLOR_BGR2GRAY) face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') faces = face_cascade.detectMultiScale(grayimg, 1.2, 5) for (x, y, w, h) in faces: cv2.rectangle(source, (x, y), (x + w, y + h), (0, 0, 255), 2) cv2.imshow('frame', source) if cv2.waitKey(1) == ord('q'): capture.release() break if __name__ == '__main__': ''' 程序入口 ''' main() 正常工作时会一直 print 监听中。 此时可以在 pc 上弹出的窗口中看到摄像头画面,有人脸出现也能自动识别。不过存在一定的延迟。 MYD-YT507H开发板由米尔电子于2022年推出和销售,搭载了全志的车规级T507-H处理器,具有超高性能和丰富的外设资源,是优秀的国产工业CPU平台。屏蔽罩下的是全志的T507-H处理器: 米尔 MYD-YT507H开发板 Ø 集成四核 Cortex–A53,主频1.5GHz,符合汽车AEC-Q100测试要求; Ø 支持 4K视频编解码; Ø 支持 LVDS、HDMI、RGB以及CVBS四种显示输出接口; Ø 支持双屏同显、双屏异显,支持 MIPI CSI 、DVP摄像头输入;提供流畅的用户体验和专业的视觉效果。 Ø 搭载的 1GB DDR4内存与8GB eMMC; Ø 开发板拥有丰富的外设扩展: SD卡槽、持双路网口,4个USB2.0接口,1个SPI,2个SDIO; Ø 工业级板卡的工作温度范围为 -40℃ - +85℃; Ø 核心板为邮票孔设计。 米尔电子,是一家专注于嵌入式处理器模组设计研发、生产、销售于一体的高新技术企业。米尔电子在嵌入式处理器领域具有 10多年的研发经验,为客户提供基于ARM架构、FPGA架构的CPU模组及充电控制系统等产品和服务;为智能医疗、智能交通、智能安防、物联网、边缘计算、工业网关、人工智能等行业客户,提供定制解决方案和OEM服务。公司通过专业高效的服务帮助客户加速产品上市进程,目前已为行业内10000家以上的企业客户服务。