咸鱼K210体验笔记—摄像头应用

咸鱼K210体验笔记—摄像头应用

          • 摄像头应用

写在前面:本人非专业人员,仅为此类爱好者。分享一下新手在体验K210的过程。入门踩坑(各种跳坑),希望大佬帮忙填上一二~。(所选设备都是K210。都想体验一下。欢迎大佬指点。)因为之前有些硬件使用基础所以K210只使用视觉相关功能。

摄像头应用

摄像头是整个机器视觉应用的基础,我们先来看看210K的怎么用。(新手先用官方,然后争取自己写)
实验目的:

学习官方自带的例程,理解 K210 摄像头基本编程和配置原理。

实验讲解:
摄像头接线方式:

pyAI-K210 集成了 24P 摄像头接口,可以直接连接标准 OV2640 等 24P 摄像头模块,排线接线方式均为下接(排线金手指朝下),具体如下:

咸鱼K210体验笔记—摄像头应用_第1张图片
实验讲解:

由于摄像头的排针均没有电气连接,所以可以根据自己需要任意摆放位置(PS:自由的感觉)

咸鱼K210体验笔记—摄像头应用_第2张图片

在 IDE 中打开 零一科技\02-示例程序\5.pyAI-K210\2.机器视觉\1.摄像头应用 目录下的 Camera.py 文件。(如果找不到之前安装的IDE,可以在开始中搜一下)
在这里插入图片描述
咸鱼K210体验笔记—摄像头应用_第3张图片
打开后发现编辑框出现了相关代码,我们可以先直接跑一下代码看看实验现象,连接 pyAI-K210,点击运行,可以发右图上方出现了摄像头实时采集的图像下方则显示 RGB 颜色直方图串行终端显示FPS

咸鱼K210体验笔记—摄像头应用_第4张图片

MaixPy 机器视觉库代码大部分都是参考 OpenMV 移植过来,其已经将所有的摄像头功能封装到 sersor模块中,用户可以通过调用轻松使用。(用到哪个模块介绍哪个。写多了也不会去看/doge)

构造函数
sensor:
传感器模块,进行摄像头配置及图像抓取等,用于控制开发板摄像头完成摄像任务。直接使用import调用即可

import sensor

使用方法

方法 说明
sensor.reset() 初始化摄像头
sensor.set_pixformat(pixformat) 设置像素格式。pixformat 有 3 个参数。
sensor.GRAYSCAL 灰度图像,每像素 8 位(1 字节),处理速度快;
sensor.RGB565 每像素为 16 位(2 字节),5 位用于红色,6 位用于绿色,5 位用于蓝色,处理速度比灰度图像要慢。
sensor.snapshot() 使用相机拍摄一张照片,并返回 image 对象
sensor.set_framesize(framesize) 设置每帧大小(即图像尺寸)。

常用的 framesize 参数有下面这些:

sensor.QQVGA: 160*120;
sensor.QVGA: 320*240;
sensor.VGA: 640*480;
sensor.skip_frames([n, time])
摄像头配置后跳过 n 帧或者等待时间 time 让其变稳定。n:跳过帧数;time:等待 时间,单位 ms。 (如果 n 和 time 均没指定,则默认跳过 300 毫秒的帧。)

clock:
用于计算 FPS(每秒帧数)的模块。import调用time模块

import time

使用方法

方法 说明
clock.reset() 重置时钟对象。
clock=time.clock() 创建一个时钟。
clock.tick() 开始追踪运行时间。
clock.avg() 停止跟踪运行时间,并返回以毫秒为单位的当前平均运行时间。在调用此函数之前,始终先调用 tick。
clock.fps () 停止追踪运行时间,并返回当前 FPS(每秒帧数)。在调用该函数前始终首先调用 tick

我们来看看Camera.py 代码的编写流程及说明:

# Camera.py 编写流程
#导入sensor,time模块
#初始化sensor模块
#创建1个计时时钟
#循环拍摄图片并打印FPS(每秒帧数)


import sensor, image, time, lcd

lcd.init(freq=15000000)             #初始化LCD
sensor.reset()                      #复位和初始化摄像头,执行sensor.run(0)停止。
#sensor.set_vflip(1)                 #将摄像头设置成后置方式(所见即所得)


sensor.set_pixformat(sensor.RGB565) # 设置像素格式为彩色 RGB565 (或灰色)
sensor.set_framesize(sensor.QVGA)   # 设置帧大小为 QVGA (320x240)
sensor.skip_frames(time = 2000)     # 等待设置生效.
clock = time.clock()                # 创建一个时钟来追踪 FPS(每秒拍摄帧数)

while(True):
    clock.tick()                    # 更新 FPS 时钟.
    img = sensor.snapshot()         # 拍摄一个图片并保存.
    lcd.display(img)                # 在LCD上显示
    print(clock.fps())              # 注意: 当 K210 连接到 IDE 时候,运行速度减
                                    #半,因此当断开 IDE 时 FPS 会提升。

OK小伙伴们的摄像头能工作了吗?我们要接LED屏幕了~~!

你可能感兴趣的:(硬件,#,K210,AI视觉体验)