基于Aidlux平台实现手机摄像头实时Canny检测

简介: 基于Aidlux平台实现手机摄像头实时Canny检测

第一步:
通过Github查找作者TommyZihao,在其aidlux_tutorial工程下找到“用手机摄像头玩转OpenCV”这个项目,并以压缩包的形式下载下来。
image.png
第二步:
从手机端登录Aidlux,根据Cloud_ip,获取IP地址,在电脑端进行输入,远程登录Aidlux桌面。
默认密码:aidlux
第三步:
远程传输代码文件至手机端Aidlux。将第一步中下载的压缩包项目上传至Aidlux的home目录下。
第四步:
在电脑端Aidlux中找到AidCode,输入jupyter notebook --allow-root,获取jupyter的浏览地址。
image.png
第五步:
打开jupyter notebook,可以看见上传完毕的文件。并打开和运行相应的.ipynb,检验代码效果和正确性。
image.png
第六步:
选择一种算法,本人选择在Aidlux平台调用手机摄像头实现逐帧实时拍摄Canny边缘检测,将该工程打包为canny_webcam.py。同时,为了便捷性,本人通过Aidlux桌面的launch-build添加桌面快捷方式,之后通过点击该快捷方式变可运行canny_webcam.py,实现摄像头实时Canny边缘检测。
image.png
其中图标,应用名称,唯一标识,访问路径均可由自己设置,而启动命令的格式需要根据自己算法文件的位置,进行填写。例如:canny_webcam.py在home目录下,则启动命令为:python /home/canny_webcam.py。
image.png
此时可以看到我的Aidlux桌面上生成了canny_webcam.py的快捷方式。
image.png
canny_webcam.py的源码如下:
```# 导入工具包
import time
import cv2
from cvs import *

初始化摄像头

摄像头ID 0-后置 1-前置

Camera_ID = 0
cap = cvs.VideoCapture(Camera_ID)

Canny 边缘检测 - 写 FPS 数值

def process_frame(img_bgr):
'''输入BGR格式的 numpy array,输出BGR格式的 numpy array'''

# 记录该帧开始处理的时间
start_time = time.time()

# 逐帧处理操作
img_bgr = cv2.Canny(img_bgr, 100, 200)
img_bgr = np.dstack((img_bgr, img_bgr, img_bgr))

# 记录该帧处理完毕的时间
end_time = time.time()
# 计算每秒处理图像帧数FPS
FPS = 1/(end_time - start_time)

# 在画面上写 FPS 数值
end_time = time.time()
FPS = 1/(end_time - start_time) # 计算每秒处理图像帧数FPS
FPS_string = 'FPS {:.2f}'.format(FPS) # 写在画面上的字符串
img_bgr = cv2.putText(img_bgr, FPS_string, (25, 100), cv2.FONT_HERSHEY_SIMPLEX, 1.25, (255, 0, 255), 2) # 在画面上写字:图片,字符串,左上角坐标,字体,字体大小,颜色,字体粗细

return img_bgr

逐帧实时处理手机摄像头拍摄的画面-代码模板

while True:
img_bgr = cap.read()

if img_bgr is None:
    continue

img_bgr = process_frame(img_bgr)

cvs.imshow(img_bgr)

```
点击该快捷方式,便可进行cannywebcam.py的运行,效果展示视频如下:
基于Aidlux平台实现手机摄像头实时Canny检测
哔哩哔哩_bilibili

相关文章
|
1月前
|
运维 监控 开发工具
应用研发平台EMAS产品常见问题之华为手机没收到通知如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
1天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的二手手机交易平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的二手手机交易平台的详细设计和实现(源码+lw+部署文档+讲解等)
5 0
|
9天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的二手手机交易平台附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的二手手机交易平台附带文章和源代码部署视频讲解等
22 7
|
1月前
|
Android开发
安卓手机快速过检测完成某某学习
安卓手机快速过检测完成某某学习
28 0
|
6月前
|
编解码 Android开发
用PS为网迅安卓公司设计基于安卓平台的手机应用图标
用PS为网迅安卓公司设计基于安卓平台的手机应用图标
【自媒体直播】手机摄像电脑控制OBS多平台推流解决方案
【自媒体直播】手机摄像电脑控制OBS多平台推流解决方案
302 0
|
Java API 开发工具
极光:手机APP消息推送平台
简单来说:极光推送是一个免费的开源的手机APP消息推送平台(类似帅哥美女们常用的购物APP某宝、某东等,一些优惠券消息后台推送到你们手机上)。
667 0
极光:手机APP消息推送平台
|
机器学习/深度学习 人工智能 安全
告别捅嗓子?AI手机程序通过声音检测新冠,准确率已达到89%
大数据文摘出品 不知道大家对做核酸怎么看,反正文摘菌的喉咙已经起茧了
195 0
告别捅嗓子?AI手机程序通过声音检测新冠,准确率已达到89%
|
存储 缓存 负载均衡
vivo手机上的系统级消息推送平台的架构设计实践
本文将要分享的是手机厂商vivo的系统级推送平台在架构设计上的技术实践和总结。这也是目前为止首次由手机厂商分享的自建系统级推送平台的技术细节,我们也得以借此机会一窥厂商ROOM级推送通道的技术水准。
326 0
vivo手机上的系统级消息推送平台的架构设计实践
|
Linux 开发工具 Android开发
[STF 手机设备管理平台] 连接其它操作系统上的安卓设备实操介绍
[STF 手机设备管理平台] 连接其它操作系统上的安卓设备实操介绍
263 0
[STF 手机设备管理平台] 连接其它操作系统上的安卓设备实操介绍