完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 收到开发版了解相关资料后,针对宠物机器人项目对尚安森美u***双目摄像头模组和本宠物机器人项目的相关功能进行PC端功能测试和开发试用。
本项目本次测试是采用python配合openvc以及face_recognition人脸识别模块通过USB双目摄像头进行人脸识别和特定目标识别反馈。 适用openvc进行人脸识别,该试用先在pc机windows上进行程序测试。 一安装和相关驱动的准备和了解。 由于尚安森美u***双目视频模块在windows上是免驱的, 二准备相关python下openvc及其软件模块 然后在系统中安装python3.0以上环境,并在openvc官网下载openvc3.x版本,特别注意windows环境下需要安装visual studio 来支持人脸识别face_recognition模块的使用。 同时在 https://github.com/opencv/opencv/tree/master/data/haarcascades 下载OpenCV人脸识别所需分类器,下载 haarcascade_frontalcatface_extended.xml这个包含基本训练参数的基本人脸分类器就可以满足基本使用,下载到项目文件夹备用即可。 进行人脸追踪还需要安装face_recognition模块相关的 cmake插件和 dlib 插件,依次安装face_recognition直接使用pip进行安装, cmake也直接使用pip进行安装, dlib需要从网站下载文件 通过setup.py install 安装。 安装好各个模块后,我们调用摄像头完成进一步的项目需求。 首相,需要启动USB双目摄像头模块采集人脸,并根据采集目标调整摄像头光感以适配图像采集。在网络上找到了一些简洁好用的代码整理用于该项目测试。 三具体借鉴使用python实现代码调用尚安森美u***双目摄像头模组 1启动摄像采集图像代码实现 import cv2 #导入OpenCV模块 cap =cv2.VideoCapture(1) #读取摄像头信号 whilecap.isOpened(): #有信号时进行循环 (ret, frame) = cap.read() #将读取到摄像头的一帧存为frame变量 cv2.imshow('test', frame) #预览帧 cv2.waitKey(5) #每帧等待5毫秒 以上是调用摄像头模组 cap =cv2.VideoCapture(1)这个地方,如果有多个摄像头需要选对,相对应的设备编号,0一般是本机默认设备,1是双目摄像头,测试的时候编号1是双目摄像头左侧镜头,2是右侧镜头,之后会优化本项目代码,将两个摄像头共同调用协同处理采集的画面,这里主要以实现调用和人脸检测为目的。暂不累述。 2人脸识别及背光调节 这里主要是面对项目宠物小车在多光源环境下对采集的图片进行调整,对背景图像中区别于人脸的其它物体进行优化采集,排除背景中相似颜色的其它物体。用圆圈标注并追踪采集到的人脸。 import cv2 cap =cv2.VideoCapture(0) #开始读取摄像头信号 whilecap.isOpened(): #有读取信号既如下操作 (ret, frame) = cap.read() #读取每一帧信号为frame hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV) #将颜色空间转换为hsv yellow_lower = (26, 43, 46) #指定目标颜色的下限 yellow_upper = (34, 255, 255) #指定目标颜色的上限 mask = cv2.inRange(hsv, yellow_lower,yellow_upper) #使用目标范围分割图像并二值化 (mask, cnts, hierarchy) =cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) #寻找所有图像的外轮廓 if len(cnts) > 0: #有图像外轮廓条件后 c = max(cnts, key=cv2.contourArea) #找出轮廓中最大的轮廓 ((x, y), radius) =cv2.minEnclosingCircle(c) #分析轮廓的中心位置和大小 print("中心坐标", (x, y)) print("半径", radius) cv2.imshow('test', frame) #将图像显示到屏幕上 cv2.waitKey(5) #每一帧等待5毫秒 3特定人脸识别及反馈 import cv2 face_cascade=cv2.CascadeClassifier('C:/Python27/face/haarcascade_frontalface_default.xml')#载入人脸分类器 cap = cv2.VideoCapture(0)#开始读取摄像头信号 while(cap.isOpened()): (ret, frame) = cap.read() #读取每一帧视频图像为frame gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) #将图像转换为灰度 faces = face_cascade.detectMultiScale(gray,minSize=(100, 100), flags=cv2.CASCADE_SCALE_IMAGE) #检测人脸的位置 for (left, top, width, height) in faces: #遍历找到的人脸的位置信息 frame = cv2.rectangle(frame, (left,top), (left + width, top + height), (0, 0, 255), 2) #绘制矩形框 cv2.imshow('cascade', frame) #预览图像 cv2.waitKey(5) #每帧等待5毫秒 cap.release() cv2.destroyAllWindows() 以上是通过肤色检测找到实时图像中的人脸,并绘制一个最接近轮廓的矩形标注出采集到的人脸来。 以上是使用USB双目摄像头模块进行的,宠物机器人的摄像头人脸采集和人脸追踪标注功能。 ` |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
133个成员聚集在这个小组
加入小组【大联大品佳 NXP i.MX RT1050试用体验】 MCUXpresso IDE+语音识别(Tensorflow)测试
2602 浏览 0 评论
【大联大世平ON Semiconductor BLE5.0 RSL10开发板试用体验】+ 蓝牙键盘试验
2592 浏览 0 评论
【大联大友尚安森美半导体感光芯片USB双目摄像头模组试用体验】敏感人群自动追踪系统开发
3095 浏览 1 评论
【大联大品佳 Microchip PIC16F15324开发板试用体验】+初识及上电
2155 浏览 0 评论
【大联大世平ON Semiconductor BLE5.0 RSL10开发板试用体验】安森美IDE环境程序烧写失败的解决办法
1964 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 03:33 , Processed in 0.622281 second(s), Total 67, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号