Up:Tutorial?     Previous:Vision sensor     Next:Collision detection by agents

Image capture from agent's perspective

(※This tutorial is valid only for later than v2.1.0)

This tutorial explains how to capture an image from the agent's perspective and how to use it in a controller based on service provider function.

Creating a controller

$ emacs captureView.cpp



Receving an image data using captureView in 50th line.

The first argument of the captureView(); is the ID number of the target camera. The camera ID 2 was used in this example. The second and third arguments are corresponded to bit depth and image size. (Only 24bits and 320x240 can be choosen in v2.1.0)

Use the function getBuffer() to extract the image data from the ViewImage.

In this example, the agent will

  • go forward when "move" is received.
  • rorate when "rotation" is received.
  • capture an image when "capture" is received.

Image files such as view000.bmp, view001.bmp... in bmp format will be created in a starting directory.


$ ./sigmake.sh captureView.cpp

Creating a world file

$ emacs captureView.xml

The following world file is almost the same as the world file used in the Vision sensor.


The difference between the Vision sensor is number of cameras. The agent has two cameras. the location and orientation of the cameras are modified.

The right camera has ID 1. The left camera has ID 2.

Execution of the image capture

$ sigserver.sh -w ./captureView.xml

You can see a humanoid robot agent in a living room.

You can send "rotation" and "move" to the agent to control the position and orientation of the agent.

Please send a message "capture" when you want to capture an image.


An image file captured by the camera ID 2 will be created in the starting directory

Up:Tutorial?     Previous:Vision sensor     Next:Collision detection by agents

Counter: 3460, today: 2, yesterday: 0

Attach file: filecapture_1.PNG 1563 download [Information]

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2014-02-07 (Fri) 14:46:39 (3517d)