IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 基于OpenCV-Python的摄像头人脸检测追踪控制系统 -> 正文阅读

[人工智能]基于OpenCV-Python的摄像头人脸检测追踪控制系统

基于OpenCV-Python的摄像头人脸检测追踪控制系统
资源:https://download.csdn.net/download/weixin_53403301/24966761

采用OpenCV-Python进行人脸识别 并计算出相对位置

输出左右中三种信号

可外接单片机设备控制步进电机并实现摄像头自动追踪

程序测试如图:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

单片机及步进电机系统仿真图:
在这里插入图片描述
Python程序如下:

import cv2
import threading

cap = cv2.VideoCapture(0)  # 开启摄像头

# 循环读取图像
while True:
    ok, faceImg = cap.read()  # 读取摄像头图像
    if ok is False:
        print('无法读取到摄像头!')
        break
    
   
#    faceImg = img
    high=faceImg.shape[0]
    width=faceImg.shape[1]
#    print(width,high)
    gray = cv2.cvtColor(faceImg,cv2.COLOR_BGR2GRAY)
    classifier = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
    # 加载人脸识别分类器
    # 官方已有的分类器  https://github.com/opencv/opencv/tree/master/data/haarcascades
    # github的不好下载, 可以从码云上找
    # Python\Python38-32\Lib\site-packages\cv2\data  这个目录下也有
    

    # 识别器进行识别
    
    
    def track():
        faceRects = classifier.detectMultiScale(gray,scaleFactor=1.2,minNeighbors=3,minSize=(32, 32))
        if len(faceRects):
            for faceRect in faceRects:
                x,y,w,h = faceRect
                # 框选出人脸   最后一个参数2是框线宽度
                cv2.rectangle(faceImg,(x, y), (x + w, y + h), (0,255,0), 2)
                print(x+w/2)
                if x+w/2 > width/2+50:
                    print("Left")
                elif x+w/2 < width/2-50:
                    print("Right")
                elif width/2-50 < x+w/2 < width/2+50:
                    print("Central")
                    
    

    
    
    
#    # 转换灰色
#    gray = cv2.cvtColor(faceImg,cv2.COLOR_BGR2GRAY)
#
#    # 加载人脸识别分类器
#    # 官方已有的分类器  https://github.com/opencv/opencv/tree/master/data/haarcascades
#    # github的不好下载, 可以从码云上找
#    # Python\Python38-32\Lib\site-packages\cv2\data  这个目录下也有
#    classifier = cv2.CascadeClassifier('haarcascade_eye.xml')
#    color = (255,0,0)
#
#    # 识别器进行识别
#    faceRects = classifier.detectMultiScale(gray,scaleFactor=1.2,minNeighbors=3,minSize=(32, 32))
#
#    if len(faceRects):
#        for faceRect in faceRects:
#            x,y,w,h = faceRect
#            # 框选出人脸   最后一个参数2是框线宽度
#            cv2.rectangle(faceImg,(x, y), (x + h, y + w), color, 2)
#            
#    
    #faceImg= cv2.cvtColor(faceImg,cv2.COLOR_RGB2BGR)
    cv2.imshow("faceImg",faceImg)
    # 展示图像
    
    thread = threading.Thread(target=track)
    thread.start()

    k = cv2.waitKey(10)  # 键盘值
    if k == 27:   # 通过esc键退出摄像
        break

# 关闭摄像头
cap.release()
cv2.destroyAllWindows()


单片机C语言程序如下:

#include <reg51.h>
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
unsigned char BJDJ[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
				 unsigned char i;
void delay(unsigned int time){
		unsigned int j=0;
		for(;time>0;time--)
		for(j=0;j<125;j++);
}
void zd(void){
	for(i=0;i<8;i++){
		P2=BJDJ[i];
		delay(100);
	}
}
void fzd(void){
	for(i=8;i>0;i--){
		P2=BJDJ[i];
		delay(100);
	}
}

void zd2(void){
	for(i=0;i<8;i++){
		P2=BJDJ[i];
		delay(10);
	}
}
void fzd2(void){
	for(i=8;i>0;i--){
		P2=BJDJ[i];
		delay(10);
	}
}

void main(void){
	while(!key3){
		while(!key1){
			if (!key2)zd2();
			else zd();
		}
		while(key1){
			if (!key2) fzd2();
			else fzd();
		}
	}
}	
	



  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-27 14:05:27  更:2021-09-27 14:06:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 12:38:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码