【雕爷学编程】MicroPython动手做(41)——机器视觉之感光元件配置2

编程入门 行业动态 更新时间:2024-10-09 17:31:15

【雕爷学编程】MicroPython动手做(41)——机器视觉之感光<a href=https://www.elefans.com/category/jswz/34/1760645.html style=元件配置2"/>

【雕爷学编程】MicroPython动手做(41)——机器视觉之感光元件配置2

MixPY——让爱(AI)触手可及



MixPY布局


主控芯片:K210(64位双核带硬件FPU和卷积加速器的 RISC-V CPU)
显示屏:LCD_2.8寸 320*240分辨率,支持电阻触摸
摄像头:OV2640,200W像素
扬声器:3W单声道喇叭,及2.5mm双声道耳机孔
麦克风:一颗数字高灵敏MEMS硅麦
存储介质:16MBFlash,可外接<32G calss10 TF内存卡
板载功能:RGB三色灯,自定义2颗按键,重力感应
电池管理:PMU电源管理,3重电池保护电路及550mah锂电池
无线网卡:ESP8285,WiFi无线网卡
下载驱动:CH340,USB转TTL串口驱动电路
外接拓展:3个 Type-C扩展接口,可外接18IO口及双电源输出


1、简介
使用MixPY与MixNO开发板硬件以及MixPY软件平台,发挥AI人工智能 K210芯片的算力优势,引入机器视觉概念,从简单的图像基础开始,通过一些MicroPython实际图像处理的小案例,着手学习在LCD屏幕上绘制直线、矩形、圆形和文字等。

2、知识点
(1)机器视觉(Machine vision)
是人工智能正在快速发展的一个分支。简单说来,机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。

机器视觉是一项综合技术,包括图像处理、机械工程技术、控制、电光源照明、光学成像、传感器、模拟与数字视频技术、计算机软硬件技术(图像增强和分析算法、图像卡、 I/O卡等)。一个典型的机器视觉应用系统包括图像捕捉、光源系统、图像数字化模块、数字图像处理模块、智能判断决策模块和机械控制执行模块。机器视觉系统最基本的特点就是提高生产的灵活性和自动化程度。在一些不适于人工作业的危险工作环境或者人工视觉难以满足要求的场合,常用机器视觉来替代人工视觉。同时,在大批量重复性工业生产过程中,用机器视觉检测方法可以大大提高生产的效率和自动化程度。

(2)机器视觉技术
是一门涉及人工智能、神经生物学、心理物理学、计算机科学、图像处理、模式识别等诸多领域的交叉学科。机器视觉主要用计算机来模拟人的视觉功能,从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。机器视觉技术最大的特点是速度快、信息量大、功能多。机器视觉主要用计算机来模拟人的视觉功能,但并不仅仅是人眼的简单延伸,更重要的是具有人脑的一部分功能一一从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。

将机器视觉技术应用于禽蛋品质检测具有人工检测所无法比拟的优势。表面缺陷与大小、形状是蛋品品质的重要特征,利用机器视觉进行检测不仅可以排除人的主观因素的干扰,而且还能够对这些指标进行定量描述,避免了因人而异的检测结果,减小了检测分级误差,提高了生产率和分级精度。一个典型的工业机器视觉应用系统,包括数字图像处理技术、机械工程技术、控制技术、光源照明技术、光学成像技术、传感器技术、模拟与数字视频技术、计算机软硬件技术、人机接口技术等。

机器视觉不同于计算机视觉,它涉及图像处理、人工智能和模式识别。机器视觉是专注于集合机械,光学,电子,软件系统,检查自然物体和材料,人工缺陷和生产制造过程的工程,它是为了检测缺陷和提高质量,操作效率,并保障产品和过程安全。它也用于控制机器。机器视觉是将计算机视觉应用于工业自动化。

3、简单摄像机

#MicroPython动手做(41)——机器视觉之感光元件配置
#简单摄像机import sensor
import mixno
import lcdsensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames(10)
sensor.set_vflip(1)
lcd.init(freq=15000000,color=0x0000)
while True:lcd.display(sensor.snapshot())

MixPY 实验图形编程

实验场景效果


4、sensor_感光元件函数(续)

sensor用于摄像头配置及图像抓取等

(6)获取图像

sensor.snapshot()

控制摄像头捕捉图像

参数:

返回:

image类型的对象

(7)关闭摄像头

sensor.shutdown(enable)

启动/关闭摄像头

参数:

enable: 1 开启摄像头 0 关闭摄像头

返回:

None

(8)获取分辨率宽度

sensor.width()

获取摄像头分辨率宽度

参数:

返回:

int类型的摄像头分辨率宽度

(9)获取分辨率高度

sensor.height()

获取摄像头分辨率高度

参数:

返回:
int类型的摄像头分辨率高度

(10)获取帧缓冲

sensor.get_fb()

获取当前摄像头帧缓冲区图像

参数:

返回:
image类型的对象

(11)获取ID

sensor.get_id()

获取当前摄像头ID

参数:

返回:
int类型的ID

(12)设置彩条模式

sensor.set_colorbar(enable)

将摄像头设置为彩条模式

参数:
enable: 1 表示开启彩条模式 0 表示关闭彩条模式

返回:
None

(13)设置对比度

sensor.set_contrast(contrast)

设置摄像头对比度

参数:
constrast: 摄像头对比度,范围为[-2,+2]

返回:
True: 设置成功
False: 设置错误

(14)设置亮度

sensor.set_brightness(brightness)

设置摄像头亮度

参数:
brightness: 摄像头亮度,范围为[-2,+2]

返回:
True: 设置成功
False: 设置错误

(15)设置饱和度

sensor.set_saturation(saturation)

设置摄像头饱和度

参数:
saturation: 摄像头饱和度,范围为[-2,+2]

返回:
True: 设置成功
False: 设置错误

(16)设置自动增益

sensor.set_auto_gain(enable,gain_db)

设置摄像自动增益模式

参数:
enable: 1 表示开启自动增益 0 表示关闭自动增益
gain_db: 关闭自动增益时,设置的摄像头固定增益值,单位为db

返回:
None

(17)获取增益值

sensor.get_gain_db()

获取摄像头增益值

参数:

返回:
float类型的增益值

(18)设置水平镜像

sensor.set_hmirror(enable)

设置摄像头水平镜像

参数:
enable: 1 表示开启水平镜像 0 表示关闭水平镜像

返回:
None

(19)写入寄存器

sensor.__write_reg(address, value)

往摄像头寄存器写入指定值

参数:
address: 寄存器地址
value: 写入值

返回:
None

(20)读取寄存器

sensor.__read_reg(address)

读取摄像头寄存器值

参数:
address: 寄存器地址

返回:
int类型的寄存器值


更多推荐

【雕爷学编程】MicroPython动手做(41)——机器视觉之感光元件配置2

本文发布于:2024-03-06 09:47:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1715015.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:元件   动手做   视觉   机器   雕爷学

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!