查看:
15029
回复: 3 |
做了一个简单的基于Opencv和STM32F103的人脸追踪
|
|
发表于2018-11-23 16:03:41
|
显示全部楼层
1#
电梯直达
突然想用手边的STM32最小系统版做一个人脸追踪平台,芯片是STM32F103RCT6。用的是Opencv的人脸识别框架,通过串口把人脸坐标发回单片机完成通信通信。单片机控制两自由度的舵机平台。参考论坛的资料自己做了一个比较简单的实验,高手勿喷。 上位机用的C++,但是一直没搞懂C++的8位数据存储结构,导致串口发到单片机里的数据是错误的。但是因为图像坐标最大只有320*300,索性直接除二发出去,单片机接收到之后在乘以2.虽然会造成数据不精确,但由于本身数据不大,精度还行。控制方面用的增量式PID,追踪性能挺好的。 这里贴出增量式PID的基本公式方便大家理解,因为只需要对人脸的移动做出快速的反应,所以只需要PD即可,积分环节可以考虑删除。
再把opencv的代码也贴出来,用于在摄像头中找到人脸并返回人脸的中心坐标(只会找到离摄像头最近的人脸) void detectAndDraw(Mat& img, CascadeClassifier& cascade, CascadeClassifier& nestedCascade, double scale, bool tryflip) 希望大家多多支持我,我是休息的哈密瓜,每周五随缘更新。大家锁定我的频道,收藏,点赞加转发。 |
|
发表于2020-12-02 12:34:23
|
显示全部楼层
4#
我以为把Open CV嵌入STM32F103 了,吓我一大跳。
|
|