前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Aidlux平台实现手机摄像头实时Canny检测

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

原创
作者头像
用户10686717
发布2023-08-04 10:59:26
3090
发布2023-08-04 10:59:26
举报
文章被收录于专栏:Aidlux人工智能

第一步:

通过Github查找作者TommyZihao,在其aidlux_tutorial工程下找到“用手机摄像头玩转OpenCV”这个项目,并以压缩包的形式下载下来。

第二步:

从手机端登录Aidlux,根据Cloud_ip,获取IP地址,在电脑端进行输入,远程登录Aidlux桌面。

默认密码:aidlux

第三步:

远程传输代码文件至手机端Aidlux。将第一步中下载的压缩包项目上传至Aidlux的home目录下。

第四步:

在电脑端Aidlux中找到AidCode,输入jupyter notebook --allow-root,获取jupyter的浏览地址。

第五步:

打开jupyter notebook,可以看见上传完毕的文件。并打开和运行相应的.ipynb,检验代码效果和正确性。

第六步:

选择一种算法,本人选择在Aidlux平台调用手机摄像头实现逐帧实时拍摄Canny边缘检测,将该工程打包为canny_webcam.py。同时,为了便捷性,本人通过Aidlux桌面的launch-build添加桌面快捷方式,之后通过点击该快捷方式变可运行canny_webcam.py,实现摄像头实时Canny边缘检测。

其中图标,应用名称,唯一标识,访问路径均可由自己设置,而启动命令的格式需要根据自己算法文件的位置,进行填写。例如:canny_webcam.py在home目录下,则启动命令为:python /home/canny_webcam.py。

此时可以看到我的Aidlux桌面上生成了canny_webcam.py的快捷方式。

canny_webcam.py的源码如下:

代码语言:javascript
复制
# 导入工具包
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)

点击该快捷方式,便可进行canny_webcam.py的运行,效果展示视频如下:

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档