当前位置: 首页>編程日記>正文

vrep中视觉传感器(Vision sensor)

vrep中视觉传感器(Vision sensor)

        Vision sensors分为正交投影型(Orthographic projection-type)和透视投影型(Perspective projection-type),视场形状如下:

一、相关参数说明

1)Enable all vision sensors:打开和关闭所有Vision Sensor功能

2)Explicit handling:指示是否应显式处理传感器。如果选中此选项,则仅当调用sim.handleVisionSensor(sim.handle_all)或sim.handleVisionSensor(visionSensorHandle)时,才会处理传感器。如果用户希望在子脚本中而不是在主脚本中处理传感器,这将很有用(如果未选中,则在主脚本中调用sim.handleVisionSensor(sim.handle_all_except_explicit)时,传感器将被处理两次,并且在子脚本中调用sim.handleVisionSensor(visionSensorHandle)时一次。另请参阅有关显式和非显式调用的部分

3)External input:外部输入,选择后,视觉传感器的正常操作将被更改,从而能够处理外部图像(例如视频图像)

4)Perspective mode:允许在透视投影类型和正交投影类型视觉传感器之间进行选择

5)Ignore RGB info (faster):如果选中该选项,则将忽略传感器的RGB信息(即颜色),以便其更快地运行。如果仅依赖传感器的深度信息,请使用此选项

6)Ignore depth info (faster):如果选择此选项,则传感器的深度信息将被忽略,从而可以更快地运行。如果您不想使用传感器的深度信息,请使用此选项

7)Packet1 is blank (faster):如果选中,则CoppeliaSim不会自动从获取的图像中提取特定信息,因此可以更快地运行。如果您不打算使用API​​函数sim.readVisionSensor或sim.handleVisionSensor返回的第一个辅助值数据包,请使用此选项

8)Use local lights:如果启用,则在显示该视觉传感器的图像内容时,仅激活与该视觉传感器关联的局部光源(即,内置在此视觉传感器之上)。Lights可以在灯光属性中本地化。

9)Show fog if enabled:如果禁用,则启用雾后此视觉传感器将看不到任何雾

10)Render mode(渲染模式)

OpenGL (default):渲染对象的可见颜色通道,默认选项

OpenGL, auxiliary channels:渲染对象的辅助颜色通道。辅助通道红色,绿色和蓝色应按以下方式使用:红色是温度通道(环境温度为0.5),绿色是用户定义的通道,蓝色是活动的发光器通道

OpenGL, color coded handles:通过将对象的句柄编码为颜色来渲染对象。sim.readVisionSensor或sim.handleVisionSensor API函数返回的第一个数据包代表检测到的对象句柄(将值四舍五入)

POV-Ray:使用POV-Ray插件渲染图像,从而允许阴影(也包括柔和阴影)和材质效果(慢得多)

External renderer:使用通过插件实现的外部渲染器

External renderer, windowed:使用通过插件实现的外部渲染器,并在外部窗口中显示图像(仅在模拟过程中)

OpenGL3:使用OpenGL3渲染器插件,由Stephen James提供。该插件提供了CoppeliaSim中本来无法实现的阴影投射。可以通过对象的扩展字符串(例如openGL3 {lightProjection {nearPlane {0.1} farPlane {10} orthoSize {8} bias {0.001} normalBias {0.005} shadowTextureSize {2048}})针对每种光调整光投射和阴影

OpenGL3, windowed:与上面相同,但带窗口

11)Near / far clipping plane:传感器将能够检测到的最小/最大距离

12)Perspective angle:当传感器处于透视模式时,检测体积的最大打开角度

13)Orthographic size:传感器不在透视模式下时检测体积的最大尺寸(沿x或y)

14)Resolution X / Y:视觉传感器捕获的图像所需的x/y分辨率

15)Adjust default image color: 允许指定在未渲染任何内容的区域中应使用的颜色。默认情况下,将使用环境雾颜色。

二、应用

        在场景中增加一个Perspective type类型的视觉传感器,并设置好相关属性参数,在环境中点add/Floating view,并右击该窗口,点view,关联增加的视觉传感器,此时仿真便可以看到视觉传感器的图像。

三、python获取视觉传感器数据

  1. 获取传感器句柄。errorCode, visionSensorHandle = vrep.simxGetObjectHandle (clientID, 'Vision_sensor', vrep.simx_opmode_oneshot_wait)
  2. 获取视觉传感器的数据。errprCode, resolution, image = vrep.simxGetVisionSensorImage (clientID, visionSensorHandle, 0,vrep.simx_opmode_buffer)

Resolution存放原图片的像素,image中存放具体的数据信息

  1. 图像格式转换
sensorImage = []sensorImage = np.array(image, dtype=np.uint8)sensorImage.resize([resolution[0], resolution[1], 3])
  1. 可以加循环,重复读取,便可以获得动态视频,循环在第二次调用vrep.simxGetVisionSensorImage时加,后面改为使用opencv对数据图像读取。mpl.show()带有阻塞,只能显示一张图片。

四、相关代码:

#!/usr/bin/env python
# encoding: utf-8import vrep
import sys
import numpy as np
import math
import matplotlib.pyplot as mpl
import time
import cv2class Usage(Exception):def __init__(self, msg):self.msg = msgdef main(argv=None):if argv is None:argv = sys.argv# Python connect to the V-REP clientvrep.simxFinish(-1)clientID = vrep.simxStart('127.0.0.1', 19997, True, True, 5000, 5)if clientID != -1:print("Connected to remote API server")else:print("Connection not successful")sys.exit("Connected failed,program ended!")# Get the handle of vision sensorerrorCode, visionSensorHandle = vrep.simxGetObjectHandle(clientID, 'Vision_sensor', vrep.simx_opmode_oneshot_wait)# Get the image of vision sensorerrprCode, resolution, image = vrep.simxGetVisionSensorImage(clientID, visionSensorHandle, 0,vrep.simx_opmode_streaming)time.sleep(0.5)while True:errprCode, resolution, image = vrep.simxGetVisionSensorImage(clientID, visionSensorHandle, 0,vrep.simx_opmode_buffer)#print(image)# Process the image to the format (64,64,3)sensorImage = []sensorImage = np.array(image, dtype=np.uint8)sensorImage.resize([resolution[0], resolution[1], 3])print(sensorImage.shape)# Use matplotlib.imshow to show the imagesensorImage=cv2.flip(sensorImage, 0)cv2.imshow('image',sensorImage)cv2.waitKey(1)#mpl.show()cv2.imshow('tracking', image)if __name__ == "__main__":sys.exit(main())


https://www.fengoutiyan.com/post/14752.html

相关文章:

  • sensor故障什么意思
  • 手机sar sensor传感器
  • 传感器叫什么
  • 视觉传感器的定义
  • 距离传感器有哪些
  • 视觉传感器原理
  • 视觉传感器有哪几种类型
  • 什么是视觉传感器
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機