想象#
初始化视觉类#
使用以下构造函数创建视觉传感器:
Vision(port, brightness, sigs)
该构造函数使用三个参数:
范围 |
描述 |
---|---|
|
与 AI 视觉传感器连接的有效 智能端口。 |
|
**可选。**视觉传感器的亮度值,从 1 到 100。 |
|
**可选。**一个或多个 签名 对象的名称。 |
# Create a new Signature "dark_blue" with the Colordesc class.
dark_blue = Signature(1, -3911, -3435, -3673,10879, 11421, 11150,2.5, 0)
# Create a new Vision Sensor "vision_1" with the Vision
# class, with the "dark_blue" Signature.
vision_1 = Vision(Ports.PORT1, 100, dark_blue)
在本 API 文档的所有后续示例中,当引用 Vision 类方法时,将使用此 vision_1
AiVision 对象和 dark_blue
Signature 对象。
类方法#
拍摄快照()#
take_snapshot(index, count)
方法获取视觉传感器可见的当前快照,并检测给定 Signature 或 Code 的对象。
在拍摄快照之前,您必须配置视觉传感器要查找的签名。
参数 |
描述 |
---|---|
指数 |
|
数数 |
**可选。**要获取的对象的最大数量。默认值为 8。 |
**返回:**检测到的对象元组,如果没有可用对象,则返回空元组。
while True:
# Create a tuple named "darkblue_objects" of detected objects
# matching the "dark_blue" Signature.
darkblue_objects = vision_1.take_snapshot(dark_blue)
# Clear the screen/reset so that we can display
# new information.
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
# Print the amount of objects detected that matched
# the "dark_blue" Signature using the len command.
brain.screen.print("object count:", len(vision_objects))
# Wait 0.5 seconds before repeating the loop and
# taking a new snapshot.
wait(0.5, SECONDS)
最大的对象()#
largest_object()
方法检索视觉传感器在最新快照中检测到的最大物体。
视觉对象属性 |
描述 |
---|---|
|
对象的唯一 ID。 |
|
对象左上角的 x 位置。 |
|
对象左上角的 y 位置。 |
|
对象的中心 x 位置。 |
|
对象的中心 y 位置。 |
|
物体的宽度。 |
|
物体的高度。 |
|
物体的角度。 |
|
如果视觉相机检测到物体。 |
**返回:**一个 Vision 对象,如果不存在则返回 None。
while True:
# Create a tuple named "darkblue_objects" of detected objects
# matching the "dark_blue" Signature.
darkblue_objects = vision_1.take_snapshot(dark_blue)
# Clear the screen/reset so that we can display
# new information.
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
# Print the largest detected object's CenterX
# coordinate to the Brain's screen.
brain.screen.print("Center X: ", vision_1.largest_object.centerX)
# Wait 0.5 seconds before repeating the loop and
# taking a new snapshot.
wait(0.5, SECONDS)
安装()#
installed()
方法检查视觉传感器是否已连接。
返回: 如果视觉传感器已连接,则返回 True
。如果未连接,则返回 False
。
时间戳()#
timestamp()
方法返回从视觉传感器接收到的最后一个状态包的时间戳。
**返回:**最后接收的状态包的时间戳(以毫秒为单位)。