Local Contrast Enhancement with ArrayFire + OpenCV

About one year ago, I wrote about a simple example of Image Processing with LibJacket + OpenCV… and the trend continues today. In this post, I demonstrate how ArrayFire (an improved version of LibJacket) can easily interop with OpenCV, through a simple example of unsharp maksing (local contrast enhancement).   Program Flow: Capture steaming webcam … Read more

GPU Convolutions: OpenCV GPU and LibJacket – Part 2

This is a response to my earlier post comparing OpenCV’s gpu::convolve() and LibJacket’s jkt::conv2() convolution functions, at various image and kernel sizes. That post generated a lot of traffic, most notably from the OpenCV developer community. Taking note of this, it seems that the folks at Willow Garage have re-vamped their GPU convolutions and posted … Read more

OpenCV vs. LibJacket: GPU Sobel Filtering

Update: LibJacket has been renamed to  ArrayFire. In response to a comment on a previous post about integrating LibJacket into an OpenCV project, below is just a simple FYI performance comparison of OpenCV‘s GPU Sobel filter versus LibJacket‘s conv2 convolution filter (with a sobel kernel)… This is an evolutionary post, so be sure to scroll all the way … Read more

Image processing with LibJacket + OpenCV

Update: one year later: ArrayFire+OpenCV The OpenCV library is the de-facto standard for doing computer vision and image processing research projects. OpenCV includes several hundreds of computer vision algorithms, aimed for use in real-time vision applications. LibJacket is a matrix library built on CUDA. LibJacket offers hundreds of general matrix and image processing functions, all running … Read more

Single Camera Real Time HDR Tonemapping

April 2011   Abstract As a final project for my Computational Photography class at Georgia Tech, I created an application that uses a single video camera to create tonemapped HDR images in real time. This project’s inspiration comes from Soviet Montage Production’s DSLR HDR video. The app runs on Linux PCs (using USB or Firewire … Read more

Computer Vision on Android with OpenCV

March 2011 With the help of Motodev Studio for Android, I’ve extracted the android-opencv JNI camera example and spawned a fork of my original computer vision app, Viewer, to an OpenCV version: ViewerCV. Both are available on Git Hub as open source software example of doing Computer Vision on Android with OpenCV. Viewer Features: *FAST Features (default android-opencv example) *Square detection *Sobel … Read more

Misc CUDA + OpenCV Fun : Sobel Filter

March 2010 I recently started playing with the Nvidia CUDA SDK Samples involving image processing. I extracted the SobelFilter kernel and made it run off my USB webcam using OpenCV – the two live modes are single-channel-gray and three-channel-rgb. I wrote two different basic kernels on my own that did binary thresholding and found the most dominant RGB value. Now on Google Code! cam-cuda-sobel  

IGVC Robot

July 2009 I competed in the 2009 Intelligent Ground Vehicle Competition, on the Georgia Tech RoboJackets Team. Our robot: Candi. I developed the computer vision algorithms to navigate an autonomous vehicle using only a vision camera. Our team ranked 6th place nationwide. Competition photos here. I wrote all of the vision and mapping code! The robot navigated using a single camera only. … Read more

Laser Projection Vision System

September 2008 A project at GTRI FPTD I worked on involving combining a color vision system with a 2D laser projector. Case Study about the project here:  Using Lasers to Identify Substandard Food. With Python and OpenCV, I got the system to find contours with the camera, and tell the laser to draw them in real-time. The goal was to … Read more