понедельник, 17 сентября 2012 г.

Augmented reality


On this video, we have present a program with augmented reality.
It was implemented using the OpenСV functions. 
The program receives a video stream from an ordinary web camera and looking at every frame the chessboard pattern(with size = 4 * 5). Then, it is counting the rotation vector and translation vector and adds a 3D model in place of checkerboard pattern.

понедельник, 13 августа 2012 г.

3d reconstruction

It's our first programm for 3d reconstruction.For this goal we have Kinect camera.The programm uses algorithm surf for finding the feature points and uses OpenCV cvFindExtrinsicCameraParams function for finding the matrices of rotation and translation .In the video you can see, how creates the point cloud of the real room, using ~20 frames from Kinect



суббота, 28 июля 2012 г.

Driving a car

it works!
Transmission the data to the chip FT232RL (in Linux you don't have to install the driver) takes place through the COM port per protocol MODBUS.
For this purpose we use the library libmodbus.
(libmodbus is a free software library to send / receive data according to the Modbus protocol. This library is written in C and supports RTU (serial) and TCP (Ethernet) communications. For more information look its documentation.)
We tested the 16th feature - write data into a sequence of registers.
Our message consisted of 4 registers:
1st
register - the movement of engines (on / off, direction), the other three registers - the power of the engines.

пятница, 29 июня 2012 г.

Kinect 3D-Puzzle

This program allows to restore the 3d model of an object with at least 2 photo of the scene. The location of the each frame is adjusted by these keys:

"q","w","a","s","z","x" - for location editingб shift+"q","w","a","s","z","x" - for editing the rotation angle. To select frame you need to press the key that corresponds its number (from 1 to 9). For the implementation of this project we used the OpenNI library.



понедельник, 9 апреля 2012 г.

Working with Kinect

During familiarization with the library for working with kinekt we created the program that displays a cloud of points in 3D-space. It's work was organized with the use of two computers. Data with coordinates of points was transferred with using a standard component of Qt - Qsocket.
Also we created the application that allows you to draw by hand movements. The object is drawn at the nearest point found.

четверг, 2 февраля 2012 г.

Sparse Bundle Adjustment

Bundle Adjustmentz (BA) is almost invariably used as the last step of every feature-based multiple view reconstruction vision algorithm to obtain optimal 3D structure and motion (i.e. camera matrix) parameter estimates. Its name refers to the bundles of light rays originating from each 3D feature and converging on each camera's optical center, which are adjusted optimally with respect to both the structure and viewing parameters (similarity in meaning to categorical bundle seems a pure coincidence). 
Provided with initial estimates, BA simultaneously refines motion and structure by minimizing the reprojection error between the observed and predicted image points. The minimization is typically carried out with the aid of the Levenberg-Marquardt (LM) algorithm. 


Software

  • sba: A Generic Sparse Bundle Adjustment C/C++ Package Based on the Levenberg–Marquardt Algorithm (C, Matlab)
  • ssba: Simple Sparse Bundle Adjustment package based on the Levenberg–Marquardt Algorithm (C) with LGPL license.
  • OpenCv: Computer Vision library in the contrib module.
  • mcba: Multi-Core Bundle Adjustment (CPU/GPU).
  • ROS:  ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications.