CoppeliaSim实体操作指南及Pillow图像处理进阶教程

创始人
2024-12-16 19:55:26
0 次浏览
0 评论

【7】CoppeliaSim用户手册-实体

在CoppeliaSim用户手册中,实体是场景的主要组成部分,是一个对象或对象的集合。
本文简要解释了实体、集合和场景对象之间的关系,以及重要概念,例如凸包、图层选择对话框、形状、关节以及如何使用它们。

实体和场景对象

实体是场景对象的集合,它们通过集合连接到场景对象。
例如,计算网格周围的最小凸包(用于减少碰撞检测时间)是凸包的一个重要用途。
动态模拟通常使用对象的凸包模型来降低模型复杂性。

操作和设置选择凸包]。
要管理对象可见性,请使用图层选择对话框来控制动态和可视化中的对象可见性。
形状设置包括参考系统、基本形状、凸分解以及用于微调对象动态的属性,例如“ShapeDynamics”属性对话框。

关节控制

关节是连接物体的运动节点,CoppeliaSim中有四种类型。
关节控制分为粗控和精控,主要采用动力学仿真的扭矩/力模式,通过sim.setJointPosition等函数进行控制。
为了同步外部控制器和仿真环境,CoppeliaSim提供了同步方法,例如主动触发每个仿真步骤的C++和Python脚本。

❤️【Python从入门到精通】(二十七)更进一步的了解Pillow吧!

上一篇文章介绍了Image模块,但是介绍的不够完整。
例如,它没有解释如何从网页读取图像以及如何裁剪图像。

读取网页中图像的基本实现方法是:首先使用request库读取当前图像的链接内容,然后将内容转换为二进制数据,然后使用open方法将其转换为二进制数据。
二进制数据最后使用save方法保存。

读取结果为:

另一种裁剪方法是调整图像大小。
例如,要将之前的图像400400更改为300200,只需调用resize<方法即可。
/p>

上面介绍的ImageDraw库仅介绍了它在图像上书写文字的用途。
其实ImageDraw模块还有一个更有用的方法,就是用它来绘制各种图形元素。

首先创建一个600*600的画布。
然后在画布上画一个正方形。
画直线的方法就是直线法。
ImageDraw.line(xy,fill=None,width=0,joint=None)

在两个坐标点之间绘制直线,坐标为方法点输入是[(x,y),(x,y),...]或[x,y,x,y,...]填充-->直线宽度的颜色-->宽度直线的

画一个正方形,边框宽2px,颜色为蓝色,面积为400*400。

ImageDraw.arc(xy,start,end,fill=None,width=0)

定义边界框的两个点。
传递的格式为[(x0,y0),(x1,y1)]或[x0,y0,x。
1,y1],其中x1>=x0,y1>=y0start-->起始角度,以度为单位,从3点开始顺时针增加end-->结束角度,以度为单位填充-->圆弧颜色宽度-->弧宽

此处绘制半圆。
如果最终角度为360度,则会绘制一个完整的圆。

通过ImageDraw.ellipse(xy,fill=None,outline=None,width=1)方法绘制圆,可以在一定范围内绘制圆

定义两个边界框点。
传递的格式为[(x0,y0),(x1,y1)]或[x0,y0,x1,y1],其中x1>=x0,y1>=y0outline-->轮廓颜色填充--->颜色宽度fill-->轮廓宽度

ImageDraw.chord(xy,start,end,fill=None,outline=None,width=1)用于画一个半圆。
与arc()方法不同的是,它会用直线连接起点和终点

定义边界框的两个点。
,传入的格式为[(x0,y0),(x1,y1)]或[x0,y0,x1,y1],其中x1>=x0,y1>=y0outline-->轮廓线的颜色l--->填充颜色的宽度-->填充颜色的宽度轮廓

定义边界框的两个点,输入格式为[(x0,y0),(x1,y1)]或[x0,y0,x1,y1],其中x1>=x0,y1>=y0start-->起始角度,以度为单位,从3点开始顺时针递增到终点-->最终角度,以度为填充填充-->圆弧的颜色width-->圆弧宽度

绘制直线两坐标点之间坐标点输入方式为[(x,y),(x,y),...]或[x,y,x,y,...]轮廓-->轮廓填充颜色-->填充颜色的宽度-->轮廓的宽度

在两个坐标点之间画一条直线坐标线和点输入方式为[(x,y),(x,y),...]或[x,y,x,y,。
..]radius-->角轮廓的半径-->轮廓颜色填充-->填充颜色宽度-->轮廓线宽度

这里有一个问题,就是如何提取绘制的图形从图像?

ImageEnhance模块主要用于设置色彩对比度、亮度、锐度等。
的图像来改善图像。

原始图像

ImageFilter模块主要用于对图像进行过滤、增强边缘和模糊处理。
该模块的用法是im.filter(ImageFilter)。
其中ImageFilter根据需要传递指定的滤镜值。

下面一一尝试效果

4边缘增强

ImageGrab模块主要用于截图,通过grab方法进行截取。
传入参数,表示全屏截图。
否则,截取指定区域的图像。
框格式为:(x1,x2,y1,y2)

使用Pillow库,您可以轻松地为图像添加水印。
首先,使用PIL的Image函数读取图像图像(大小与原始图像相同),然后使用PIL的ImageDraw在新创建的图像上绘制文字,文字的颜色从原始图像中获取。

原图

添加文字后渲染

本文详细介绍了Pillow库的使用,希望对读者有用。

热门文章
1
Python编程入门:全面解析Pytho... python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...

2
Python字典操作全解析:添加、修改、... &#65279;Pythondict字典基本操作(包括添加、修改、删除键...

3
Python错误处理与异常处理:构建稳定... 2.5错误处理与异常在编程领域,错误处理和异常处理是保证程序稳定性和健壮性的关键...

4
Python数据转换攻略:字符串、列表、... Python字典、字符串及列表的相互转换Python中数据转换的艺术:从字典和字...

5
Python列表相加与求和技巧解析 重温python基础:列表相加的方法(两个list[]加法)今天,我们来看看Py...

6
Python运行快捷键大揭秘:高效操作,... python运行按哪个键运行Python时的快捷键包括Ctrl+Shift+F1...

7
Python字符与数字互转攻略:轻松掌握... python&#160;字符与数字如何转换Python是一种功能强大且结...

8
Python字符串转列表:两种常用方法解... python怎么将字符串转换为列表Python中将字符串转换为列表的方法有多种,...

9
Python字符串转列表:两种常用方法解... python怎么将字符串转换为列表在Python中将字符串转换为列表的方法有很多...

10
Python列表转字符串全攻略:掌握四种... Python列表到字符串–如何在Python中转换列表在Python中,将列表转...