Search form

Image Processing

Digital Image Processing is an indispensable part of the many old and new emerging technologies and domains i.e.

  • Augmented Reality
  • Medical image processing
  • Face detection
  • Computer Vision
  • Optical sorting
  • Feature detection
  • Remote sensing and terrain mapping
  • Machines and Robotics

Image processing has application in almost all core areas. With growing computing power of small devices, its significance too has grown.

The primary goal of any image processing based system is that irrespective of methods and models chosen, it must provide real-time response to obtain sufficient realism and accurate information analysis. For this very purpose and from implementation point of view, GPU acceleration (because of its parallel nature to some extent) is deployed for both pre-processing and actual computation.

We have worked on many challenging projects i.e. developed an application for creating a map in real time from a video camera on a miniature unmanned aerial vehicle, digital 3d face reconstruction based on computed tomography, Xilinx FPGA based embedded system which is used to achieve high speed segmentation of 3D images, segmentation of brain tissues from MR images and many more.

Sample processing algorithms

Let us take example of edge detection using imagelib APIs for its core image processing needs. Following steps are performed for edge detection.

  • Split input image into multiple overlapping slices
  • If it is a RGB image, separate out the Luma component (Y) for processing
  • Run Sobel operator to get the gradient image of each slices
  • Run the thresholding operation on the slices to get the edges
  • Combine the slices to get the final output

Framework for multicore

We have used IPC Message Queue based framework or OpenMP for multiple applications. Following are the overall steps (the master and threads will be run on 1 or more cores).

  • The master thread will preprocess the input image to make a gray scale or luma image
  • The master thread signal each slave thread to start processing and wait for processing complete signal from all slave threads
  • The slave threads run edge detection function to generate output edge image of the slice
  • Then the slave threads signal master thread indicating the processing completed
  • Once master thread receives completion signal from all threads it proceeds with further user interface processing
About our Expertise
  • Consulting
  • COTS based h/w integration and support
  • SoC based solutions
  • Related System Software development
  • Application Development

Platforms and Operating Systems: Unix, Linux (Red hat / Ubuntu / Monta Vista), Windows XP/2003/Vista/Windows 7/8

Development Tools: Assembly, C, C++, Visual C++, Java,  openGL, Direct-X, X-Windows, Motif, Qt cross-platform application framework, OpenKinect, OpenNI

Technologies: Image Compression, Pattern Recognition, 3-D Graphics, Real-time Image/Video Streaming, Face/Feature detection, Skeleton tracking, Gesture Recognition, Remote Sensing & Terrain Mapping, Machines & Robotics, Medical Visualization, Augmented Reality etc.


What Differentiates Us?

We utilize comprehensive set of reference-standard algorithms and graphical tools for image processing, analysis, visualization, and algorithm development. We specialize in image enhancement, image deblurring, feature detection, noise reduction, image segmentation, geometric transformations, and image registration. Our design and implementation takes care of multithreading to take advantage of multicore and multiprocessor computers.

We exploit tools which support a diverse set of image types, including high dynamic range, gigapixel resolution, embedded ICC profile, and tomographic. These tools help us explore an image, examine a region of pixels, adjust the contrast, create contours or histograms, and manipulate regions of interest (ROIs). Thus we can restore degraded images, detect and measure features, analyze shapes and textures, and adjust color balance etc.

We utilize many imaging and signal processing techniques to build applications for tomorrow i.e.

  • Principal components analysis
  • Independent component analysis
  • Pixelization
  • Linear filtering
  • Partial differential equations
  • Self-organizing maps
  • Neural networks
  • Wavelets
Contact Us
Example: 9102027650399
Example: 919648923777
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Enter the characters shown in the image.
Related Items

 Sovilo - "Seeding Super O Value"
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Enter the characters shown in the image.