def createCameraView(self, channel): self.imageManager.queue.addCameraStream(channel) self.imageManager.addImage(channel) view = PythonQt.dd.ddQVTKWidgetView() view.orientationMarkerWidget().Off() view.backgroundRenderer().SetBackground([0, 0, 0]) view.backgroundRenderer().SetBackground2([0, 0, 0]) cameraview.CameraImageView(self.imageManager, channel, view=view) return view
def __init__(self, imageView=None, numberOfPoints=1): self.imageView = imageView or cameraview.CameraImageView(cameraview.imageManager, 'CAMERA_LEFT', 'image view') self.imagePicker = ImagePointPicker(self.imageView, numberOfPoints=numberOfPoints) self.imagePicker.connectDoubleClickEvent(self.onImageViewDoubleClick) self.imagePicker.annotationFunc = self.onImageAnnotation self.imagePicker.start() self.pointCloudSource = 'lidar' self.pickLineRadius = 0.05 self.pickNearestToCamera = True
def newCameraView(imageManager, channelName='OPENNI_FRAME', cameraName='OPENNI_FRAME_LEFT', viewName='OpenNI Frame'): view = PythonQt.dd.ddQVTKWidgetView() view.orientationMarkerWidget().Off() view.backgroundRenderer().SetBackground([0,0,0]) view.backgroundRenderer().SetBackground2([0,0,0]) imageManager.queue.addCameraStream(channelName, cameraName, lcmbotcore.images_t.LEFT) imageManager.addImage(cameraName) cameraView = cameraview.CameraImageView(imageManager, cameraName, viewName=viewName, view=view) cameraView.eventFilterEnabled = False view.renderWindow().GetInteractor().SetInteractorStyle(vtk.vtkInteractorStyleImage()) return cameraView
def setupImageStreams(self): streams = [CAPTURE_CHANNEL, 'VIDEO_PLAYBACK_IMAGE'] self.imageManager = cameraview.ImageManager() for channelName in streams: self.imageManager.queue.addCameraStream(channelName) self.imageManager.addImage(channelName) self.currentStream = streams[0] self.cameraView = cameraview.CameraImageView(self.imageManager, self.currentStream, view=self.view) self.cameraView.eventFilterEnabled = False self.view.renderWindow().GetInteractor().SetInteractorStyle( vtk.vtkInteractorStyleImage())
def main(): app = ConsoleApp() view = app.createView(useGrid=False) view.orientationMarkerWidget().Off() view.backgroundRenderer().SetBackground([0, 0, 0]) view.backgroundRenderer().SetBackground2([0, 0, 0]) cameraChannel = parseChannelArgument() imageManager = cameraview.ImageManager() imageManager.queue.addCameraStream(cameraChannel) imageManager.addImage(cameraChannel) cameraView = cameraview.CameraImageView(imageManager, cameraChannel, view=view) cameraView.eventFilterEnabled = False view.renderWindow().GetInteractor().SetInteractorStyle( vtk.vtkInteractorStyleImage()) view.show() app.start()
def setup(self): args = self.parseArgs() imageManager = cameraview.ImageManager() self.imageManager = imageManager channel = args.channel imageType = args.imageType self.app = consoleapp.ConsoleApp() self.views = [] if imageType == 'rgb': imageName = channel imageManager.queue.addCameraStream(channel, imageName, -1) imageManager.addImage(imageName) cameraView = cameraview.CameraImageView( imageManager, imageName, view=PythonQt.dd.ddQVTKWidgetView()) cameraView.eventFilterEnabled = False cameraView.view.renderWindow().GetInteractor().SetInteractorStyle( vtk.vtkInteractorStyleImage()) cameraView.view.resize(640, 480) self.views.append(cameraView.view) self.cameraView = cameraView elif imageType == 'rgbd': imageName = channel + '_LEFT' imageManager.queue.addCameraStream(channel, imageName, 0) imageManager.addImage(imageName) cameraView = cameraview.CameraImageView( imageManager, imageName, view=PythonQt.dd.ddQVTKWidgetView()) cameraView.eventFilterEnabled = False cameraView.view.renderWindow().GetInteractor().SetInteractorStyle( vtk.vtkInteractorStyleImage()) self.views.append(cameraView.view) imageName2 = channel + '_D' if args.disparity: imageManager.queue.addCameraStream( channel, imageName2, lcmbotcore.images_t.DISPARITY_ZIPPED) else: imageManager.queue.addCameraStream( channel, imageName2, lcmbotcore.images_t.DEPTH_MM_ZIPPED) imageManager.addImage(imageName2) cameraView2 = cameraview.CameraImageView( imageManager, imageName2, view=PythonQt.dd.ddQVTKWidgetView()) cameraView2.eventFilterEnabled = False cameraView2.useImageColorMap = True cameraView2.view.renderWindow().GetInteractor().SetInteractorStyle( vtk.vtkInteractorStyleImage()) self.views.append(cameraView2.view) if args.pointcloud: from director import segmentation cameraview.imageManager = imageManager pointCloudObj = segmentation.DisparityPointCloudItem( 'Point cloud', channel, imageName, imageManager) view = PythonQt.dd.ddQVTKWidgetView() pointCloudObj.addToView(view) om.addToObjectModel(pointCloudObj) pointCloudObj.setProperty('Visible', True) pointCloudObj.setProperty('Target FPS', 30) pointCloudObj.setProperty('Max Range', 30) pointCloudObj.setProperty('Remove Size', 0) viewBehaviors = viewbehaviors.ViewBehaviors(view) view.camera().SetPosition([0, 0, 0]) view.camera().SetFocalPoint([0, 0, 1]) view.camera().SetViewUp([0, -1, 0]) view.camera().SetViewAngle(45) self.views.append(view) self.cameraView = cameraView self.cameraView2 = cameraView2 w = QtGui.QWidget() l = QtGui.QHBoxLayout(w) for view in self.views: l.addWidget(view) l.setContentsMargins(0, 0, 0, 0) w.resize(640 * len(self.views), 480) w.show() self.addShortcuts(w) self.widget = w
playbackJointController, robotStateModel, robotStateJointController, manipPlanner) manipPlanner.connectPlanReceived(playbackPanel.setPlan) # initialize pointcloud lcm pointcloudlcm.init(view) # initialize camera view cameraChannel = 'MULTISENSE_CAMERA_LEFT' imageManager = cameraview.ImageManager() imageManager.queue.addCameraStream(cameraChannel) imageManager.addImage(cameraChannel) cameraView = cameraview.CameraImageView(imageManager, cameraChannel, view=app.createView(useGrid=False)) # show widgets with a grid layout w = QtGui.QWidget() l = QtGui.QGridLayout(w) l.addWidget(view, 0, 0) l.addWidget(cameraView.view, 0, 1) l.addWidget(playbackPanel.widget, 1, 0, 1, 2) # row, column, row span, column span l.setContentsMargins(0, 0, 0, 0) w.resize(1024, 600) w.show() # add lcm logplayer keyboard shortcuts logCommander = robotviewbehaviors.KeyPressLogCommander(view)