Monday 28 March 2011

Image Processing using GNURadio

Image processing is any form of signal processing for which the input is an image, such as a photograph; the output of image processing may be either an image or, a set of characteristics or parameters related to the image. Most image-processing techniques involve treating the image as a two-dimensional signal and applying standard signal-processing techniques to it. To equip GNURadio with Image Processing capability OpenCV is used.
OpenCV (Open Source Computer Vision Library) is a library of programming functions mainly aimed at real time computer vision, developed by Intel and now supported by Willow Garage. It is free for use under the open source BSD license. OpenCV includes both its traditional C interface as well as a new C++ interface which makes it possible to integrate with GNURadio. 

 

Introduction to OpenCV

OpenCV is an Open source computer vision library in C/C++ which is optimised and intended for real-time applications and is OS/hardware/window-manager independent. It can perform generic image/video loading, saving, and acquisition in both low and high level API. Supported image formats: BMP, DIB, JPEG, JPG, JPE, PNG, PBM, PGM, PPM,SR, RAS, TIFF, TIF.

OpenCV modules include:
  • cv - Main OpenCV functions.
  • cvaux - Auxiliary (experimental) OpenCV functions.
  • cxcore - Data structures and linear algebra support.
  • highgui - GUI functions.
OpenCV can be downloaded from here.

For installation guide through the synaptic manager  click here.

For installation guide through the terminal   click here.

Compilation instructions:
 
 $ g++ -I/usr/include/opencv -lcxcore -lcv -lhighgui -lcvaux -lml hello.cpp 
 
OpenCV requires the following library for compilation.

Integarting OpenCV with GNURadio

To integrate OpenCV with GNURadio include the OpenCV library's in the top directory file, makefile.common specified by two flags AM_CXXFLAGS and AM_CPPFLAGS as;
 
AM_CXXFLAGS = @autoconf_default_CXXFLAGS@ \    
                          -I/usr/include/opencv \ 
                          -lcxcore -lcv -lhighgui -lcvaux -lml
 
AM_CPPFLAGS = -I/usr/include/opencv \ 
               $(STD_DEFINES_AND_INCLUDES) \ 
               $(PYTHON_CPPFLAGS) \ 
               $(CPPUNIT_INCLUDES) \ 
               $(GNURADIO_CORE_CPPFLAGS)

Once this is set OpenCV header files and functions can be used in GNURadio. 
2RHGDSDQ67N2 

No comments:

Post a Comment