项目简介
本项目是一个智能家居智能安全监控摄像头系统,运用Python和OpenCV库实现视频捕获、图像处理与对象检测。借助Raspberry Pi运行系统,能够实时捕获并传输视频流。系统可检测视频中的对象,在检测到特定对象时发送含图像信息的电子邮件通知,同时具备基本身份验证功能,保证只有授权用户能访问和操作监控画面。
项目的主要特性和功能
- 视频捕获和传输:利用Raspberry Pi的摄像头实时捕获视频流,同一网络下的设备可通过浏览器访问查看。
- 图像处理和对象检测:采用OpenCV库处理图像、检测特定对象(如人、车辆等),并在检测对象周围绘制矩形框标记。
- 电子邮件通知:检测到特定对象时,系统发送带图像信息的邮件,方便用户远程查看监控画面。
- 基本身份验证:通过Flask的BasicAuth扩展,确保只有授权用户可访问监控画面和相关功能。
- 灵活的模型替换:提供多种对象检测模型(人脸、全身、上半身检测等),用户可按需选择或更换。
安装使用步骤
1. 配置摄像头及安装依赖库
在Raspberry Pi上配置摄像头,参考以下命令:
sudo raspi-config
选择Interface Options
,再选Pi Camera
并开启,按Finish
退出。可通过以下命令验证摄像头是否正常工作:
raspistill -o image.jpg
安装所需依赖库(如OpenCV、Flask等),OpenCV安装可参考tutorial。
2. 复制项目代码并安装依赖
复制项目代码到本地,进入项目目录:
cd Smart - Security - Camera
激活虚拟环境:
bash
source ~/.profile
workon cv
安装项目依赖:
pip install -r requirements.txt
若使用Python 3,需修改mail.py
文件顶部的导入语句及print
语句。
3. 配置相关文件
配置mail.py
文件,替换邮箱和密码:
```
fromEmail = 'your_email@gmail.com'
fromEmailPassword = 'your_password'
toEmail = 'recipient_email@gmail.com'
``
还可修改
main.py`文件中的部分属性,如更换对象检测模型。
4. 运行主程序
python main.py
5. 访问实时视频流
通过浏览器访问实时视频流:在同一网络下,通过ifconfig
命令获取Raspberry Pi的inet
地址,访问<raspberrypi_ip>:5000
。若要在不同网络访问,可使用ngrok,运行./ngrok http 5000
后访问生成的链接。
6. 系统运行
系统自动检测视频中的对象,检测到特定对象时会发送电子邮件通知。
注意事项
- 使用前确保正确配置摄像头并安装相关依赖库。
- 为安全起见,不要在代码中直接存放邮箱密码,建议使用应用密码或安全的凭据管理方式。
- 邮件发送功能需网络连接和稳定的SMTP服务器支持,确保网络稳定并正确配置相关信息。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】