738|4

59

帖子

4

TA的资源

一粒金砂(中级)

基于国产车规级处理器T507-H开发平台,如何用50行Python代码实现图传和人脸识别? [复制链接]

我们在米尔国产T507-H车规级处理器的开发板上尝试无线图传功能,并且叠加人脸识别检测视频中是否存在人脸。这次使用的是USB摄像头,可以直接接在开发板的接口上。

1. 连接摄像头

连接好摄像头后使用指令dmesg,看到能读取到摄像头。显示为HIK 720p Camera

D+O1tgqcRY8PAAAAAElFTkSuQmCC

 

接下来使用v4l来检测相机的详细参数。
安装v4l:sudo apt install v4l-utils

 

使用sudo v4l2-ctl --list-devices查看详细信息与设备号

k3ibXTzIbgUAAAAASUVORK5CYII=

 

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。

9kPLEvKrhMEAAAAASUVORK5CYII=

 

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监听中。

9BcA7yXPHiCAPHuAAPLsAQLIswcIIM8eIIA8e4AA8uwBAsizBwggzx4ggDx7gADy7AECyLMHCCDPHiCAPHuAAPLsAQLIswcIIM8eIIA8e4AA8uwBAsizBwggzx4ggDx7gADy7AECyLMHCCDPHiCAPHuAAPLsAQLIswcIIM8eIIA8e4AA8uwBAsizBwggzx4ggDx7gADy7AECyLMHCCDPHiCAPHuAAPLsAQLIswcIIM8eIIA8e4AA8uwBAsizBwg

 

 

此时可以在pc上弹出的窗口中看到摄像头画面,有人脸出现也能自动识别。不过存在一定的延迟。

Z

 

 

MYD-YT507H开发板由米尔电子于2022年推出和销售,搭载了全志的车规级T507-H处理器,具有超高性能和丰富的外设资源,是优秀的国产工业CPU平台。屏蔽罩下的是全志的T507-H处理器:

9k=

米尔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家以上的企业客户服务。

此帖出自编程基础论坛

最新回复

希望国产芯片越来越强  详情 回复 发表于 2023-4-2 06:18
个人签名

米尔电子,专注嵌入式处理器


回复

163

帖子

15

TA的资源

一粒金砂(高级)

只要是国产的就必须要支持。希望国内企业之间互相尊重,大力采用国产芯片。都发展好了,别人也就没办法卡我们的脖子了。

此帖出自编程基础论坛

回复

2334

帖子

15

TA的资源

版主

这板子接口真的多啊~牛啊

此帖出自编程基础论坛

回复

3932

帖子

3

TA的资源

版主

使用OpenCV进行人脸识别,识别率高不高,能从数据拿出来对比不?
此帖出自编程基础论坛

回复

2

帖子

0

TA的资源

一粒金砂(初级)

希望国产芯片越来越强


此帖出自编程基础论坛

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

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
Protel99se鼠标滚轮放大缩小工具以及转快捷键整理

本帖最后由 paulhyde 于 2014-9-15 03:15 编辑 分享一个比较好用的Protel99se增加鼠标滚轮放大缩小功能【见附件】 功能就不用 ...

【全美经典】系列教材

一个朋友最近送给我的一套【全美经典】系列教材,看了一点,感觉还可以,所以传上来给大家分享一下,全部免费下载,需要的朋友可 ...

在Sitara平台上如何优化Linux启动过程?

请问目前大家的平台上,Linux从启动到运行自己的图形程序,需要大概多少秒?我们要想优化一个系统的启动时间,首先我们需要知道 ...

【TI原创】采用8962驱动3.2寸TFT屏幕(非官方GUI版本)

看到坛子里面有关于8962驱动TFT的文章,主要是讲解如何使用官方的tft示例程序,个人觉得那个代码繁琐难懂,移植起来也是相当不方 ...

针对beaglebone 扩展板,进行Linux驱动的调试!

好久没有发帖子了!今天来分享一下针对beaglebone 扩展板,进行Linux驱动的调试吧! 第二次修正beaglebone板子的外围电路还是比 ...

颁奖:快速获取TI 工业电机驱动资源 答题赢好礼

活动详情:快速获取TI 工业电机驱动资源 答题赢好礼 如何发奖:本次活动为实物奖品,不可兑换E金币。本次奖品将由TI进行 ...

TI - MCU - MSP430使用指南6 -> CS时钟系统

此内容由EEWORLD论坛网友骑IC看MCU原创,如需转载或用于商业用途需征得作者同意并注明出处 MSP430产品能做到超低功耗主要得益 ...

Altium.Designer基于FPGA系统设计功能培训

Altium.Designer基于FPGA系统设计功能培训

【i.MX6ULL】驱动开发10——阻塞&非阻塞式按键检测

上篇文章: 【i.MX6ULL】驱动开发9——Linux IO模型分析,介绍了linux中的五种I/O模型,本篇,就来使用阻塞式I/O和非 ...

SH366002替换的是ti什么型号的芯片

中颖电子的锂电池管理芯片SH366002在国产手机中已经大量应用,替换的是德州仪器的芯片,德州仪器这款芯片的型号有人知道吗,谢谢 ...

关闭
站长推荐上一条 1/5 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表