OpenMV学习笔记3——画图函数汇总

画图,即在摄像头对应位置画出图形,对于需要反馈信息的程序来说很直观。就如上一篇文章颜色识别当中的例子一样,我们在识别出的色块上画出矩形方框,并在中间标出十字,可以直观的看到OpenMV现在识别出的色块。

目录

一、画线

二、画框

三、画圆 

四、画十字

 五、写字

 六、一起来!


一、画线

函数原型:image.draw_line(line_tuple,color=White)。

效果为在捕获的图像上画一条直线。

  • line_tuple格式为(x0,y0,x1,y1),代表从(x0,y0)到(x1,y1)的直线。
  • 颜色可以是灰度值(0~255),也可以是(r,g,b)格式的元组,默认是白色。

 例:

img.draw_line((10,10,20,30), color=(255,0,0))

运行结果:

 

二、画框

函数原型:image.draw_rectangle(rect_tuple,color=White)

效果为在图像中画一个矩形框。

  • rect_tuple的格式是(x,y,w,h)。分别代表矩形框左上角的x,y坐标,以及长和宽。

例:

img.draw_rectangle((0, 0, 41, 51), color=(255,0,0))

运行结果:

 

三、画圆 

 函数原型:image.draw_circle(x,y,radius,color=White)

效果为在图像中画一个圆。

  • x,y是圆心坐标。
  • radius是圆的半径。

 例:

img.draw_circle(50, 50, 30)

运行结果:

 

四、画十字

函数原型:image.draw_cross(x,y,size=5,color=White)

效果为在图像中画一个十字

  • x,y是十字交点坐标。
  • size是两侧的尺寸。

例:

img.draw_cross(90,60,size=10)

运行结果:

 五、写字

函数原型:image.draw_string(x,y,text,color=White)

效果为在图像中写字,8×10的像素。

  • x,y是坐标。使用\n,\r and \r\n会使光标移动到下一行。
  • text是要写的字符串。

例:

img.draw_string(10,10, "hello world!")

 运行结果:

注:所有函数里的color可以不写,不写默认是白色,如果要指定颜色的话,必须在函数参数里标明color=。

 六、一起来!

代码:

import sensor, image, timesensor.reset() # 初始化摄像头
sensor.set_pixformat(sensor.RGB565) # 格式为 RGB565.
sensor.set_framesize(sensor.QQVGA)
sensor.skip_frames(10) # 跳过10帧,使新设置生效
while(True):img = sensor.snapshot()         # Take a picture and return the image.img.draw_line((10,10,40,40), color=(255,0,0))img.draw_rectangle((0, 0, 41, 51), color=(255,0,0))img.draw_circle(50, 50, 30)img.draw_cross(90,60,size=10)img.draw_string(10,10, "hello world!")

运行结果:

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

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

相关文章

执法装备管理系统DW-S304的概念与特点

执法装备管理系统(DW-S304)适用于多种警务和安保场景,如警察局、特警队、边防检查站、监狱管理系统、生态环境局、执法大队等。它可以帮助这些机构提高对装备的控制能力,确保装备在需要时能够迅速到位,同时也减少了因装…

API开发秘籍:揭秘Swagger与Spring REST Docs的文档自动化神技

在这个数字化时代,如何让你的业务像外卖一样快速送达顾客手中?本文将带你走进Spring Boot的世界,学习如何利用RESTful API构建一个高效、直观的“外卖帝国”。从基础的REST架构风格,到Spring MVC的魔力,再到Swagger和S…

追寻美的指引--纪念西蒙斯

周六早上醒来,James Simons(西蒙斯)辞世的消息刷屏了。多数人知道他,是因为他的财富和量化对冲基金公司-文艺复兴。但他更值得为人纪念的身份,则是数学家和慈善家。 西蒙斯1938年生于麻省,毕业于MIT&#…

探索 Python 的 vars() 函数

大家好,在软件开发的过程中,调试是一个不可或缺的环节。无论你是在解决 bug,优化代码,还是探索代码的执行流程,都需要一些有效的工具来帮助你更好地理解和调试代码。在 Python 编程中,vars() 函数是一个非常…

编程环境资源汇总

目录 前言 正文 虚拟机模块 常用软件模块(同时包含各别好用的小软件) 语言模块 尾声 🔭 Hi,I’m Pleasure1234🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.👯 I’m studying in Univer…

论文阅读笔记(十一)——BioInformatics Agent (BIA)

论文阅读笔记(十一)——BioInformatics Agent (BIA): Unleashing the Power of Large Language Models to Reshape Bioinformatics Workflow 目录 论文阅读笔记(十一)——BioInformatics Agent (BIA): Unleashing the Power of Large Language Models to Reshape Bioinformatic…

【C++奇妙冒险】日期类Date的实现

文章目录 前言日期类Date的接口设计构造函数和打印函数获取日期并判断日期是否合法日期类的大小比较关系<运算符重载 判断小于运算符重载 判断相等<运算符重载 判断小于等于>运算符重载 判断大于> 运算符重载 判断大于等于! 运算符重载 不等于 日期类计算日期天数日…

一维数组基础(题目+答案)

第1题 反向输出 时限&#xff1a;1s 空间&#xff1a;256m 输入n个数&#xff0c;要求程序按输入时的逆序把这n个数打印出来&#xff0c;已知整数不超过100个。也就是说&#xff0c;按输入相反顺序打印这n个数。 输入格式 第一行&#xff1a;一个整数n&#xff0c;代表…

成功解决“IndexError: pop index out of range”错误的全面指南

成功解决“IndexError: pop index out of range”错误的全面指南 引言 在Python编程中&#xff0c;处理列表&#xff08;list&#xff09;、双端队列&#xff08;deque&#xff09;或其他可迭代对象时&#xff0c;我们经常使用pop()方法来移除并返回指定索引处的元素。然而&am…

JD手机商品参数对比

前言废话 这不618快到了, 手机又有点问题了; 想换个手机, 但是手机不知道选哪个; 想着能不能对比一下, JD自带的对比只能两个商品不是很够用; 就尝试写一个 首先就是要把需要对比的商品都添加到关注商品里 然后搜索所需的信息, 找哪个接口获取的 然后查看分析html结构, xpa…

赢销侠的秘密武器:如何提升客户满意度?

在竞争激烈的商业战场上&#xff0c;客户满意度是企业能否长盛不衰的关键。它如同一面镜子&#xff0c;映照出企业的服务质量和产品实力。那么&#xff0c;赢销侠们是如何运用秘密武器来提升客户满意度的呢&#xff1f;本文将深入探讨这一课题&#xff0c;并揭示背后的策略与智…

生命在于学习——Python人工智能原理(3.1)

三、深度学习 &#xff08;一&#xff09;深度学习的概念 1、深度学习的来源 深度学习的概念来源于人工神经网络&#xff0c;所以又称深度神经网络。 人工神经网络主要使用计算机的计算单元和存储单元模拟人类大脑神经系统中大量的神经细胞&#xff08;神经元&#xff09;通关…

06.持久化存储

6.持久化存储 pv: persistent volume 全局的资源 pv&#xff0c;node pvc: persistent volume claim 局部的资源&#xff08;namespace&#xff09;pod&#xff0c;rc&#xff0c;svc 6.1:安装nfs服务端(192.168.111.11) yum install nfs-utils.x86_64 -y mkdir /data vim /…

MyBatis 的在使用上的注意事项及其辨析

1. MyBatis 的在使用上的注意事项及其辨析 文章目录 1. MyBatis 的在使用上的注意事项及其辨析2. 准备工作3. #{ } 与 ${ } 的区别和使用3.1 什么情况下必须使用 ${ }3.1.1 拼接表名3.1.2 批量删除3.1.3 模糊查询3.1.3.1 使用 ${ }的方式3.1.3.2 使用 #{ } 的方式 4. typeAlias…

风景的短视频一分钟:成都科成博通文化传媒公司

风景的短视频一分钟&#xff1a;时光凝固的画卷 在快节奏的现代生活中&#xff0c;我们常常被繁忙和琐碎所困扰&#xff0c;渴望在喧嚣中找到一丝宁静与美好。而风景的短视频&#xff0c;正是这样一份能够让我们在短时间内沉浸于自然之美的奇妙礼物。成都科成博通文化传媒公司…

牛客BM85 验证IP地址【中等 字符串 Java/Go/PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/55fb3c68d08d46119f76ae2df7566880 https://www.lintcode.com/problem/1222/description 思路 直接模拟&#xff0c;注意IPv4,ipv6的条件Java代码 import java.util.*;public class Solution {/*** 验证IP地址…

关于IDEA创建Maven一直爆红无法下载的问题

你能看到这我就知道你肯定已经试过了网上的很多方法了&#xff0c;我之前也是&#xff0c;试过了很多一直无法正常下载&#xff0c;我也是找人给 线下看了看解决了&#xff0c;我总结一下从头到尾排除问题&#xff0c;试到最后要是还解决不了你直接私信我&#xff0c;我给你看看…

路由策略实验1

先把地址全部配通 对R1 对R2 对R4 对R3 对R5 对R6 对R7 然后起路由协议 对R1 对R2 对R3 对R4 对R5 对R6 对R7

C++17之std::void_t

目录 1.std::void_t 的原理 2.std::void_t 的应用 2.1.判断成员存在性 2.1.1.判断嵌套类型定义 2.1.2 判断成员是否存在 2.2 判断表达式是否合法 2.2.1 判断是否支持前置运算符 2.2.3 判断两个类型是否可做加法运算 3.std::void_t 与 std::enable_if 1.std::void_t 的…

猫头虎分享已解决Bug || **Eslint插件安装问题Unable to resolve eslint-plugin-猫头虎

猫头虎分享已解决Bug || **Eslint插件安装问题Unable to resolve eslint-plugin-猫头虎 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的…