【雕爷学编程】MicroPython动手做(39)——机器视觉之图像基础

news2024/11/9 22:05:20

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)图像处理
图像处理是对图像进行分析、加工和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。此外,基于光学理论的模拟图像处理方法依然占有重要的地位。图像处理是信号处理的子类,另外与计算机科学、人工智能等领域也有密切的关系。传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。几十年前,图像处理大多数由光学设备在模拟模式下进行。由于这些光学方法本身所具有的并行特性,至今他们仍然在很多应用领域占有核心地位,例如全息摄影。但是由于计算机速度的大幅度提高,这些技术正在迅速的被数字图像处理方法所替代。从通常意义上讲,数字图像处理技术更加普适、可靠和准确。比起模拟方法,它们也更容易实现。专用的硬件被用于数字图像处理,例如,基于流水线的计算机体系结构在这方面取得了巨大的商业成功。今天,硬件解决方案被广泛的用于视频处理系统,但商业化的图像处理任务基本上仍以软件形式实现,运行在通用个人电脑上。

在这里插入图片描述

(4)LCD屏幕绘图

在这里插入图片描述

3、绘制直线

#MicroPython动手做(39)——机器视觉之图像基础
#绘制直线

import mixno
import lcd
import image


lcd.init(freq=15000000,color=0)
image = image.Image()
while True:
    lcd.display(image.draw_line([20,120,300,120],248,1))

在这里插入图片描述
MixPY 实验图形编程

在这里插入图片描述

Image 类_ 图像对象函数( import image )
图像对象是机器视觉操作的基本对象

(1)构造图像对象

class image.Image(path[,copy_to_fb=False])

打开一个新的图像对象

参数:
path: 图像对象路径, 比如/sd/MixPY.jpg,支持bmppgmppmjpgjpeg格式的图像文件
copy_to_fb:图像介质
True,图像会直接载入帧缓冲区,可以加载大幅图片了
False,图像会载入MicroPython的堆中,堆远比帧缓冲区小

返回:
返回一个对象, 根据不同格式返回的对象不同

对于JPEG图像而言,“[]”使得您可以访问压缩的节数组形式的JPEG图像色块。由于JPEG图像是压缩的字节流形式,因而对数据组的读取和写入是不透明的。

图像还支持读缓冲区操作。您可以把图像当作节数组对象,将图像输入所有类型的MicroPython函数。若您想传送一个图像,可以将它传递给UART /SPI/ I2C写入函数,可实现自动传送。

(2)绘制直线

.draw_line(x0,y0,x1,y1[,color[,thickness=1]])

图像上绘制一条从(x0,y0)到(x1,y1)的线

参数:
x0,y0,x1,y1:绘制的直线的起点坐标与终点坐标,可以为单独传递,也可以为元组
color:绘制的直线颜色(默认白色):
RGB56516 位的颜色值,比如0xFFFF
RGB888元组, 比如(236, 36, 36)
GRAYSCALE灰度图素值(0-255)
thickness:控制线的粗细像素

返回:
返回一个图像对象
不支持压缩图像

小实验之2 绘制多条彩色直线

#MicroPython动手做(39)——机器视觉之图像基础
#绘制多条彩色直线

import time
import mixno
import lcd
import image


lcd.init(freq=15000000,color=0)
image = image.Image()
lcd.display(image.draw_line([160,0,160,240],248,5))
time.sleep_ms(1000)
lcd.display(image.draw_line([0,120,320,120],57351,5))
time.sleep_ms(1000)
lcd.display(image.draw_line([0,0,320,240],7936,5))
time.sleep_ms(1000)
lcd.display(image.draw_line([0,240,320,0],57599,5))

实验场景图

在这里插入图片描述

MixPY 实验图形编程

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/835630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里云平台WoSignSSL证书应用案例

沃通CA与阿里云达成合作并在阿里云平台上线WoSign品牌SSL证书。自上线以来&#xff0c;WoSignSSL证书成为阿里云“数字证书管理服务”热销证书产品&#xff0c;获得阿里云平台客户认可&#xff0c;助力阿里云平台政府、金融、教育、供应链、游戏等各类行业客户实现网站系统数据…

美团前端研发框架Rome实践和演进趋势

本文整理自美团技术沙龙第76期《大前端研发协同效能提升与实践》&#xff0c;为大家介绍了美团到店前端研发框架Rome实践和演进趋势。 具体来讲&#xff0c;本文首先介绍了Rome整体的工程生态、演变路径、规模化升级以及工程框架外的开发辅助工具&#xff1b;第二部分&#xff…

主流CRM有哪些特点和优势?

现如今&#xff0c;CRM系统是企业实现数字化转型&#xff0c;提高销售收入的首选工具。但市场上有众多CRM品牌&#xff0c;每家都有自己的特点和优势&#xff0c;企业该如何进行选择&#xff1f;下面我们就来进行主流CRM系统比较&#xff0c;并说说什么CRM产品比较好? 主流CR…

控制器(IP盒子类似网关)收不到工位板的状态数据包的问题排查解决

控制器(IP盒子类似网关)收不到工位板的状态数据包 问题描述 如下图通信框图所示&#xff0c;控制器工位板程序通过RS422和控制器(类似网关)通信&#xff0c;控制器在将数据转发给Linux应用程序。 一开始设备装好&#xff0c;整个通信是没有任何问题的。 然后在很久之后&…

【C#学习笔记】装箱和拆箱

文章目录 装箱和拆箱性能消耗装箱拆箱 比较var&#xff0c;object&#xff0c;dynamic&#xff0c;\<T\>varobject\<T\> 泛型dynamic 装箱和拆箱 在讲引用类型object的时候&#xff0c;我们说它是万能的&#xff0c;却没说它万能在哪里。 除了object为每一种变量…

收集 301 医院 451 名老年冠心病患者数据,湖北麻城人民医院推出机器学习模型,准确预测患者一年内死亡率

内容一览&#xff1a;据国际糖尿病联盟 (IDF) 统计&#xff0c;2021 年中国糖尿病患者数量占全球 26%。而糖尿病患者血糖长期失控&#xff0c;有极高风险引起冠心病等并发症。近期&#xff0c;湖北省麻城市人民医院研究人员分析比较了多种模型&#xff0c;并用其中表现最优的机…

Scratch 之 两点之间距离的测算

1.前言 在Scratch中&#xff0c;对于坐标系上的两点&#xff0c;我们可以确定通过x坐标或y坐标之差确定两点横坐标或是纵坐标上的距离&#xff0c;那么如何知道两点之间的直线距离呢&#xff1f; 2.勾股定理 对于一个直角三角形&#xff0c;两条直角边的平方和等于斜边的平方&a…

电动自行车上架eBay的UL2849、16CFR1512测试标准

在奥运经济的带动下&#xff0c;今年以来运动自行车消费有较大幅度增长&#xff0c;其中高端消费者对进口自行车需求扩张&#xff0c;上半年竞赛型自行车进口量同比增长49.5%。另外&#xff0c;电助力自行车在国际市场也倍受追捧&#xff0c;国际自行车贸易总额的60%来自中国&a…

记一次ubuntu16误删libc.so.6操作的恢复过程

背景 操作系统&#xff1a;ubuntu16 glibc版本&#xff1a;2.23 修改原因&#xff1a; 经过一系列报错和手工构建之后&#xff0c;vulkansdk成功安装&#xff08;起码运行./vulkansdu成功&#xff09;&#xff0c;在进行./vulkaninfo进行验证时&#xff0c;报错&#xff1a…

SpringCloud-Hystrix服务熔断与降级工作原理源码 | 京东物流技术团队

先附上Hystrix源码图 在微服务架构中&#xff0c;根据业务来拆分成一个个的服务&#xff0c;服务与服务之间可以相互调用&#xff08;RPC&#xff09;&#xff0c;在Spring Cloud可以用RestTemplateRibbon和Feign来调用。为了保证其高可用&#xff0c;单个服务通常会集群部署。…

odoo16 上传/下载 文件接口的实现

突然有个需求说需要编写一个上传pdf 接口 首先需要准备如下 xx.xx模型 module 部分 如下&#xff1a; attachment_count fields.Integer(compute_compute_attachment_count, string附件数量, requiredTrue)def _compute_attachment_count(self):# 附件数量计算attachment_dat…

虹科干货 | DevOps 团队为什么独独青睐 Redis Enterprise ?

虹科干货 | DevOps 团队为什么独独青睐 Redis Enterprise &#xff1f; 快速部署是保障成功的 DevOps 的关键要素。虹科Redis Enterprise 提供了一种快速的数据库。 DevOps 团队面临的挑战 提高应用程序处理速度&#xff0c;赢得商业竞争 许多企业中&#xff0c;DevOps 团队&…

工厂模式:简化对象的创建过程

工厂模式&#xff1a;简化对象的创建过程 介绍 在软件开发中&#xff0c;对象的创建是一个常见的操作。通常情况下&#xff0c;我们可以直接使用 new 关键字来创建对象&#xff0c;但是在某些情况下&#xff0c;对象的创建过程可能会比较复杂&#xff0c;涉及到多个步骤或者依…

为生成式AI提速,亚马逊云科技Amazon EC2 P5满足GPU需求

生成式AI&#xff08;Generative AI&#xff09;已经成为全球范围内的一个重要趋势&#xff0c;得到越来越多企业和研究机构的关注和应用。纽约时间7月26日&#xff0c;亚马逊云科技数据库、数据分析和机器学习全球副总裁Swami Sivasubramanian在亚马逊云科技举办的纽约峰会上更…

React Native获取手机屏幕宽高(Dimensions)

import { Dimensions } from react-nativeconsole.log(Dimensions, Dimensions.get(window)) 参考链接&#xff1a; https://www.reactnative.cn/docs/next/dimensions#%E6%96%B9%E6%B3%95 https://chat.xutongbao.top/

程序员自由创业周记#5:加一上线

程序员自由创业周记#5&#xff1a;加一上线 这是一位程序员进行独立开发创业的记录&#xff0c;将分享创业过程中的所思所想以及收支明细。 充实 如果说程序员独立创业的成功率只有5%&#xff0c;那如果家里有一位3岁多还没上幼儿园的小朋友要照顾&#xff0c;成功的概率至少还…

通俗易懂web3.0

目录 前言一、WEB1.0二、WEB2.0三、WEB3.0区别最后 前言 大家好&#xff0c;我是清风。互联网连接了人与人&#xff0c;在过去的30年中&#xff0c;互联网技术不断进化、演化&#xff0c;向纵深发展&#xff0c;政治、经济、社交、生活、工作已经几乎离不开互联网。我们经历了…

软件测试面试【富途面经分享】

目录 一面面经&#xff08;1h&#xff09; 二面面经 一面面经&#xff08;1h&#xff09; 一、对白盒黑盒灰盒测试的理解 答&#xff1a; 1、黑盒测试就当整个程序是个黑盒子&#xff0c;我们看不到它里面做了什么事情&#xff0c;只能通过输入输出看是否能得到我们所需的来…

使用HTTP隧道时如何应对目标网站的反爬虫监测?

在进行网络抓取时&#xff0c;我们常常会遇到目标网站对反爬虫的监测和封禁。为了规避这些风险&#xff0c;使用代理IP成为一种常见的方法。然而&#xff0c;如何应对目标网站的反爬虫监测&#xff0c;既能保证数据的稳定性&#xff0c;又能确保抓取过程的安全性呢&#xff1f;…

亚马逊关键词的作用有哪些?

亚马逊关键词在平台上扮演着重要的作用&#xff0c;涵盖了消费者、卖家和整个平台的多个方面&#xff1a; 1、消费者的作用&#xff1a; 帮助消费者快速找到所需商品&#xff1a;通过输入关键词&#xff0c;消费者可以迅速找到感兴趣的商品&#xff0c;节省时间和精力。 支持…