选自towardsdatascience 本教程将介绍如何使用 OpenCV 和 Dlib 在 Python 中创建和运行人脸检测算法。同时还将添加一些功能,以同时检测多个面部的眼睛和嘴巴。...因此,区域 D 中的像素之和可以简单地计算为: 4+1−(2+3)。 这样我们仅使用 4 个数组值就计算出了矩形 D 的值。 ? 人们应该知道矩形在实际中是非常简单的特征,但对于人脸检测已经足够了。...在训练该模型时,变量如下: 每个阶段分类器数量 每个阶段的特征数量 每个阶段的阈值 幸运的是,在 OpenCV 中,整个模型已经经过预训练,可直接用于人脸检测。...在实现实时人脸检测算法之前,让我们先尝试在图像上简单检测一下。...在测试图像上成功检测到人脸。现在开始实时检测! 实时人脸检测 下面继续进行实时人脸检测的 Python 实现。第一步是启动摄像头,并拍摄视频。然后,将图像转换为灰度图。这用于减小输入图像的维数。
选自towardsdatascience 作者:Maël Fabien 机器之心编译 参与:高璇、张倩、淑婷 本教程将介绍如何使用 OpenCV 和 Dlib 在 Python 中创建和运行人脸检测算法...因此,区域 D 中的像素之和可以简单地计算为: 4+1−(2+3)。 这样我们仅使用 4 个数组值就计算出了矩形 D 的值。 ? 人们应该知道矩形在实际中是非常简单的特征,但对于人脸检测已经足够了。...在训练该模型时,变量如下: 每个阶段分类器数量 每个阶段的特征数量 每个阶段的阈值 幸运的是,在 OpenCV 中,整个模型已经经过预训练,可直接用于人脸检测。...在实现实时人脸检测算法之前,让我们先尝试在图像上简单检测一下。...在测试图像上成功检测到人脸。现在开始实时检测! 实时人脸检测 下面继续进行实时人脸检测的 Python 实现。第一步是启动摄像头,并拍摄视频。然后,将图像转换为灰度图。这用于减小输入图像的维数。
最近,油管上一位完全「编程小白」的小姐姐,在发现树莓派推出了一款新的相机模块后,心血来潮决定DIY一款数码相机。 ?...3天DIY一台数码相机 那么,如何用树莓派4 DIY 一个数码相机呢? 首先,你需要以下这些工具。 ?...树莓派在编程过程中使用到的语言是Python,小姐姐是这样表述的: 不是Python不Python的问题,而是我哪门编程语言都不会! 然后,小姐姐第一天的画风就是这样的: ?...组装倒是挺顺利的,但是有这样一个小问题,「如何实现按键拍照」? 因为原有的相机模块安上镜头,是像这个样子的。 ? 没有快门按钮,怎么能叫做相机呢?...还可以用树莓派在家门口DIY一个监控摄像头。 ? 当然,还有许许多多、由易到难的树莓派DIY项目(详情见文末参考链接)。 ? 那么,你最想用树莓派,DIY一个什么项目呢?
一、介绍 树莓派综合项目3:AI视觉机械臂小车(一)蜂鸣器 树莓派基础实验 本实验也是一个简单的轻触按键实验,在基础实验系列中讲过类似的一篇,树莓派基础实验6:轻触开关按键实验,当中使用了 interrupt...本实验中直接使用While循环检测按键输入的电平为高还是低,同时介绍一个Python控制GPIO的库“gpiozero”,gpiozero库的操作更加人性化,而且简单好用、易于上手,树莓派镜像默认安装了...GPIO Zero库是树莓派官方目前推荐的用于操作树莓派上GPIO口的Python库,该库最早是在RPi.GPIO库之上开发而来的,现在默认情况下也有许多功能是基于RPi.GPIO库实现的,不过用户可以自行设置其它库用在底层...检查按钮按下也更容易,使用.is_pressed检测按钮按下。 我们在Raspberry Pi按钮教程中使用了这个确切的功能,这是熟悉库中差异的好方法。...这里使用While循环,interrupt( 中断 )式请参考树莓派基础实验6:轻触开关按键实验。 #!
首先尝试使用yolo官网yolo给的教程,在树莓派上测试,但是在运行时出现段错误,尝试很多方法无法解决。在国外的网站找到darknet-nnpack这个东西,可以完美的在树莓派上运行。...安装NNPACK,这是神经网络的加速库,可以在多核CPU上运行 在Makefile中添加一些特殊配置,以在Cortex CPU和NNPACK优化上编译Darknet Yolo源代码。...步骤0:准备工作 在树莓派4上安装系统等参考我的这篇博客 准备Python和Pi相机,我用的是树莓派的相机,使用usb摄像头会慢很多。 安装OpenCV。使用最简单的方法(不要从源代码构建!)...rpi_video.py 以动画形式在屏幕上显示实时目标检测结果; rpi_record.py 会将每一帧结果保存(如之后制作git动画)。 另外YoloV3-tiny不在乎输入图像的大小。...sofa了 检测速度可以达到每秒2帧,树莓派4的性能比3B+要强很多,3B+只能达到1帧。
█ 一、树莓派 首先,你需要一个最新款的Raspberry Pi,安装好定制的Linux系统,连上无线网。你还需要一个官配摄像头,并在树莓派中设置为可用。...你可以将树莓派通过HDMI连接到显示器,但更方便的做法是ssh远程登录,这样你就不用在调试过程中反复地把树莓派从小车上拔线、取下、连屏幕、然后安装回小车了,你可以实时远程修改小车的内核。...树莓派有一个非常好用的GPIO Python库:gpiozero,使用方法一目了然。 通常用四个端口控制马达,分别连接两个马达的正负级,通过每个马达的正向/逆向旋转来实现小车的前进/后退/转向。...我用数据线连接了树莓派和Arduino,在树莓派上写好程序后上传。我发现一个非常好用的命令行IDE:PlatformIO(也有很棒的图形界面编辑器)。Linux上的安装过程基于Python 2.7。...python代码在这里,用到了我自己写的库,用来检测键盘按键。这个库将单次按键匹配到前进/后退/转/停止等行为;但我希望实现的是长按键前进/后退/转,不按键时停止。
在我的OpenCV教程系列中,我们将专注于使用树莓派(当然,操作系统就是Raspbian了)和Python。OpenCV为高效计算而生,极大地专注于实时应用。...也就是说,系统Python的site-packages目录中的那些库在虚拟环境“cv”中并不能使用——同样,这个虚拟环境中的包在系统全局的Python版本中也是无法使用的。...既然你的树莓派已经安装好OpenCV了,那就先测试一下你的相机是否正常工作吧~(假设你已经在你的树莓派上安装PiCam了) 在你的IDE中输入以下代码: 上述代码将捕获你的PiCam的视频流并使用BGR...现在使用我们的Python虚拟环境测试一下这个LED吧! 请注意,有可能你的Python虚拟环境还没有安装树莓派的RPi.GPIO。...这个举措可以在伺服发生问题时保护你的草莓派。 让我们一起用这个机会在 虚拟 Python 环境中测试一下我们的伺服。 我们执行 Python 脚本来测试一下驱动器。
导语 在之前的某个教程里,我们探讨了如何控制Pan/Tilt Servo设备来安置一个PiCam(树莓派的相机)。...在我的OpenCV教程系列中,我们将专注于使用树莓派(当然,操作系统就是Raspbian了)和Python。OpenCV为高效计算而生,极大地专注于实时应用。...测试你的相机 既然你的树莓派已经安装好OpenCV了,那就先测试一下你的相机是否正常工作吧~(假设你已经在你的树莓派上安装PiCam了) 在你的IDE中输入以下代码: 上述代码将捕获你的PiCam的视频流并使用...现在使用我们的Python虚拟环境测试一下这个LED吧! 请注意,有可能你的Python虚拟环境还没有安装树莓派的RPi.GPIO。...这个举措可以在伺服发生问题时保护你的草莓派。 让我们一起用这个机会在 虚拟 Python 环境中测试一下我们的伺服。 我们执行 Python 脚本来测试一下驱动器。
软件,打开工具->设置-> 解释器,选择MicroPython(Raspberry Pi Pico)解释器,并在串口处选择树莓派PICO的串口号(如果板子已经连接在电脑上,软件一般会自动检测串口号) 重启软件...,可以看到软件左下方显示了树莓派PICO中的文件; 如果没有显示左侧文件树的话可以勾选 视图->文件 2.3 离线运行程序 新建文件,编写完代码后,按住ctrl+s将该文件保存在树莓派PICO上...,并命名为main.py(一定要加后缀.py),下次树莓派PICO通电时便会自动运行main.py中的程序。...3 外部中断的作用 节省CPU资源 代码实现 在3.04 按键实验中,检测按键是否被按下采用的是在主程序中写死循环的办法,假如这个按键被按下的频率十分低(一天只有几次被按下),采用死循环的方法将会浪费大量的...CPU资源,而采用外部中断的方式检测按键是否被按下将大大节省CPU资源。
直接执行这两个命令即可: sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives...--install /usr/bin/python python /usr/bin/python3 150 如果要切换到Python2,执行: sudo update-alternatives --...config python 检验:
二、组件 ★Raspberry Pi 3主板*1 ★树莓派电源*1 ★40P软排线*1 ★轻触开关按键模块*1 ★双色LED模块*1 ★面包板*1 ★跳线若干 三、实验原理 ? 轻触开关按键模块 ?...树莓派 T型转接板 轻触开关 GPIO 0(序号11) GPIO 17 S 5V 5V VCC(中间触点) GND GND - 树莓派 T型转接板 双色LED GPIO 1(序号12) GPIO 18...有多种方式将GPIO的输入导入到程序中,polling( 轮询 )式 和 interrupt( 中断 )式( edge detection 边缘检测 ),“轮询”式如果程序在错误的时间读取值,可能会错过输入...在硬件方式中,常常在输入通道与3.3V(上拉)或0V(下拉)之间使用10K电阻。...可采用另一种办法轻松检测状态,这种方式是直接传入一个回调函数:GPIO通过在add_event_detect()函数中添加callback参数,RPI.GPIO为回调函数运行第二个线程。
在本实验中,我们将引脚VRx和VRy连接到A/D转换器的模拟输入端口,以便将模拟量转换为数字量。然后在树莓派上编程,以检测操纵杆的移动方向。 ...开关量坐标标识符清晰简明,准确定位;用其可以轻松控制物体(如二自由度舵机云台)在二维空间运动。 四、实验步骤 第1步:连接电路。...PS2操纵杆实验实物连接图 第2步:PCF8591模块采用的是I2C(IIC)总线进行通信的,但是在树莓派的镜像中默认是关闭的,在使用该传感器的时候,我们必须首先允许IIC总线通信。 ?...PCF8591的详细内容请查看树莓派基础实验12:PCF8591模数转换器实验。 #!...(address, 0x40, temp) #写入字节数据,将数字值转化成模拟值从AOUT输出 if __name__ == "__main__": setup(0x48) #在树莓派终端上使用命令
一、介绍 树莓派综合项目3:AI视觉机械臂小车(一)蜂鸣器 树莓派综合项目3:AI视觉机械臂小车(二)轻触按键 树莓派综合项目3:AI视觉机械臂小车(三)基本运动 本实验将实现履带车的红外避障功能...,这个也比较简单,在以前的文章中有更基础细致的讲解可以参考: 树莓派基础实验28:红外避障传感器实验 树莓派综合项目2:智能小车(五)红外避障 本实验中不同的是采用了E18-D80NK漫反射式红外光电开关避障传感器模块...检测障碍物的距离可以根据要求,通过尾部的电位器旋钮进行调节。 [fhr2l096rw.jpeg] E18-D80NK的参数 这个NPN型光电开关的输出组是0或1,即数字电路中的高电平与低电平。.../usr/bin/python # coding=utf-8 #本段代码实现树莓派智能小车的红外避障效果 #代码使用的树莓派GPIO是用的BCM编码方式。.../usr/bin/python # coding=utf-8 #本段代码实现树莓派智能小车的红外避障效果 #代码使用的树莓派GPIO是用的BCM编码方式。
在游戏开发中,我们经常会回使用到边框检测。我们知道,边框检测是计算机视觉中常用的技术,用于检测图像中的边界和轮廓。在Python中,可以使用OpenCV库来实现边框检测。具体是怎么实现的?...以下是一个简单的示例代码,演示如何在Python中使用OpenCV进行边框检测:1、问题背景:用户试图编写一个程序,该程序要求用户输入一个数字,然后在屏幕上绘制相应数量的矩形。然而,这些矩形不能重叠。...方法 2:限制随机范围这种方法可以对随机值进行编号,以便只在可用的位置生成矩形。这可以以多种方式实现,可能需要一些时间和精力来实现。...边框检测在图像处理、目标检测和计算机视觉领域有着广泛的应用,能够帮助识别物体的形状、边界和结构。通过使用OpenCV库,可以方便地实现边框检测功能。...所以说边框检测在实际应用中是很重要的,如有任何疑问可以评论区留言讨论。
目标检测是各种应用中使用的强大工具,从安全系统到机器人技术。通过OpenCV和树莓派,您可以在小巧、经济实惠的平台上实现目标检测。...在这篇文章中,我们将引导您通过在树莓派上使用OpenCV设置目标检测系统。...测试安装:打开Python并检查OpenCV是否正确安装: import cv2 print(cv2.__version__) 步骤3:使用树莓派相机捕获视频 要进行目标检测,您需要从相机捕获视频。...Haar级联是图像中目标检测的流行方法。...步骤6:扩展目标检测系统 基本设置可以扩展到检测其他对象,如眼睛、汽车甚至自定义对象。您还可以集成更高级的技术,如基于深度学习的目标检测模型(例如,YOLO或SSD),以提高准确性和性能。
振动传感器实验原理图 在震动开关模块中,导电的振动弹簧和触发销被精确地放置在开关体中,并且通过粘合剂结合到固化位置。...在此实验中,将双色LED模块连接到树莓派以指示更改。敲击或敲击振动传感器时,它将打开,双色led将闪烁绿色,再次敲击它将变为红色,每一次敲击后会在两种颜色之间切换。...树莓派 T型转接板 振动开关 GPIO 0(序号11) GPIO 17 SIG(DO) 5V 5V VCC GND GND GND 树莓派 T型转接板 双色LED GPIO 1(序号12) GPIO...有多种方式将GPIO的输入导入到程序中,polling( 轮询 )式 和 interrupt( 中断 )式( edge detection 边缘检测 ),“轮询”式如果程序在错误的时间读取值,可能会错过输入...可采用另一种办法轻松检测状态,这种方式是直接传入一个回调函数:GPIO通过在add_event_detect()函数中添加callback参数,RPI.GPIO为回调函数运行第二个线程。
网上有很多介绍树莓派小车的控制方案,但是搜索了一圈却发现没有无线键盘的控制方案。挑战未知,才更有趣。 0x01 所需材料 1.树莓派小车。...(树莓派小车的安装不是本文重点,如果读者不熟悉小车的安装,请自行搜索。) ? 2.无线键盘。 ? 0x02 方案 在树莓派系统上搭建两个服务:键盘监听服务和小车转向控制服务。...用python控制小车动作的代码如下: ? 控制系统的代码就不粘贴了,只把设计过程中遇到的问题与大家分享下。...控制系统在设计过程中遇到这样一个问题: 如果按键一直按下,当按键抬起时小车不会立刻停止,而是过一下才会停止。...导致问题发生的原因: 由于按键一直按下会有大量的按键请求发送过来,而小车的动作响应要慢于键盘按键响应,会有大量的按键按下请求堆积在处理线程中,而按键抬起请求处于队列最末尾,是最后执行的,所以当按键抬起时小车才不会立刻停止
---- 二、组件 ★Raspberry Pi 3主板*1 ★树莓派电源*1 ★40P软排线*1 ★倾斜传感器模块*1 ★双色LED模块*1 ★面包板*1 ★跳线若干 三、实验原理 ?...树莓派 T型转接板 倾斜开关 GPIO 0(序号11) GPIO 17 SIG(DO) 5V 5V VCC GND GND GND 树莓派 T型转接板 双色LED GPIO 1(序号12) GPIO...有多种方式将GPIO的输入导入到程序中,polling( 轮询 )式 和 interrupt( 中断 )式( edge detection 边缘检测 ),“轮询”式如果程序在错误的时间读取值,可能会错过输入...GPIO.IN, pull_up_down=GPIO.PUD_DOWN) 我们很多时候并不关心电平值, 而关心电平从低到高,或从高到低的变化(如编码器测速/按键按下弹开等), 为避免主程序忙于其它事情错过引脚的电平改变...可采用另一种办法轻松检测状态,这种方式是直接传入一个回调函数:GPIO通过在add_event_detect()函数中添加callback参数,RPI.GPIO为回调函数运行第二个线程。
前言 树莓派是一台基于ARM的微型电脑,外表虽小,能力却毫不逊色。...写入完毕后,给树莓派插上卡,接上显示器,通上电即可。 注意:树莓派供电电压恒定在5v,电流一定要给足,至少也要配上2A以上的电源适配器。如果树莓派电流过小的话,可能会出现自动重启的情况。...二、模拟器配置 当我们把树莓派接上显示器后,系统启动界面就很好看,别兴奋,要想玩上游戏还要再折腾一会; ? 如果你有一个游戏手柄,通过USB插在树莓派上,任意按一个键,系统会自动检测到你的手柄。 ?...这时候把树莓派的USB口上插上键盘,按一下F4键,就可以进入系统的命令行界面,输入命令exit,即可重启系统,重新配置按键; ?...,可以直接通过smb服务,把游戏rom传到RetroPie中;具体操作如下: 第一步:在Mac系统下,在Finder界面下按command+K键, ?
领取专属 10元无门槛券
手把手带您无忧上云