基于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

相关文章
|
4月前
|
运维 监控 开发工具
应用研发平台EMAS产品常见问题之华为手机没收到通知如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的二手手机交易平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的二手手机交易平台附带文章源码部署视频讲解等
20 0
|
3月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的二手手机交易平台附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的二手手机交易平台附带文章和源代码部署视频讲解等
42 7
|
3月前
|
Java 关系型数据库 MySQL
基于Java的二手手机回收平台系统
基于Java的二手手机回收平台系统
|
3月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的二手手机交易平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的二手手机交易平台的详细设计和实现(源码+lw+部署文档+讲解等)
24 0
|
4月前
|
Android开发
安卓手机快速过检测完成某某学习
安卓手机快速过检测完成某某学习
41 0
|
9月前
|
编解码 Android开发
用PS为网迅安卓公司设计基于安卓平台的手机应用图标
用PS为网迅安卓公司设计基于安卓平台的手机应用图标
【自媒体直播】手机摄像电脑控制OBS多平台推流解决方案
【自媒体直播】手机摄像电脑控制OBS多平台推流解决方案
343 0
|
Java API 开发工具
极光:手机APP消息推送平台
简单来说:极光推送是一个免费的开源的手机APP消息推送平台(类似帅哥美女们常用的购物APP某宝、某东等,一些优惠券消息后台推送到你们手机上)。
796 0
极光:手机APP消息推送平台
|
3月前
|
网络协议 Android开发 数据安全/隐私保护
Android手机上使用Socks5全局代理-教程+软件
Android手机上使用Socks5全局代理-教程+软件
2733 2

热门文章

最新文章