SC12 ArrayFire Demos

I got the privilege of developing some of the Super Computing 2012 (SC12) booth demos for AccelerEyes, to showcase ArrayFire. Above is an ArrayFire demo running at SC12 on an nVidia GPU. This demo (source code HERE) uses OpenCV to capture webcam video and processes the stream in several different ways, in real-time. From top-left to bottom-right: Sobel filter, ArrayFire logo, Motion (frame differencing), Source image, Histogram … Read more

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

ArrayFire GTC 2012 Presentations

I got another incredible opportunity to give two introductory talks at Nvidia’s 2012 GPU Technology Conference about AccelerEyes‘s two software products: Jacket(MATLAB) and ArrayFire(C++) ! Jacket for Multidimensional Scaling in Genomics –  Video  |  Slides ArrayFire Graphics: A Tutorial –  Video  |  Slides   Enjoy!

Laplacian Pyramid Image Enhancement

My final project for the Computational Photography class at GaTech. Multi-scale image contrast/detail manipulation Operating on images at multiple scales is conventionally done using multi-scale decompositions, such as the Laplacian pyramid [Burt and Adelson 1983]. Such techniques decompose an image to multiple detail layers at different scales in a pyramid like fashion. This project demonstrates how … Read more

Computer Vision Learning Portfolio

This page constitutes my required external learning portfolio for CS 7495, Computer Vision, taken in Fall 2011. In it, I discuss what I have learned throughout the course, my activities and findings, how I think I did, and what impact it had on me. About me I am a coffee fanatic that is into computers, photography, computer … Read more

GPU TV-L1 Optical Flow with ArrayFire

Update 1: LibJacket has been renamed to  ArrayFire. Update 2: Huang Chao-Hui was nice enough to port the LibJacket code mentioned here to ArrayFire – see his work here. As one of my Computer Vision class projects, I decided to implement optical flow, because I wanted to learn more about optical flow, and also I wanted to code it … Read more

Music Visualization with Processing

Live Spectrogram Re-Inspired by the awesome artistic works in Resonance the Film, a TED talk on generative music videos, and then remembering the good ol’ days of MilkDrop magic, I found myself captivated and wanting to learn more about music visualization and how I could create my own. Since I will be using Processing for the first time this … Read more

GPU Connected Component Labeling

Connected Component Labeling (CCL): “is used in computer vision to detect connected regions in binary digital images”, and sometimes referred to as blob coloring. Motivation: To keep AccelerEyes’ ever expanding GPU library growing, over a few weeks of this summer I took on the project of writing a CUDA version of connected component labeling to be used in … Read more