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

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

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

Remapping Macbook Pro Keys for Emacs Use

Background: I recently took the $$$ plunge and got a fancy new 15″ Macbook Pro to replace my 5-year old ASUS laptop. Though I’m not too fond of Apple’s business model, I just couldn’t seem to find (hardware wise) a more quality built and ascetically pleasing laptop than a Macbook Pro. After 6 years straight of … 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

GIMP Scripts

Usually, when I’m using GIMP to edit pictures, there are a couple of simple enahcnements I routinely apply to each image. So, I’m slowly learning GIMP scripting and creating some simple GIMP scripts to help automate some steps in my digital darkroom workflow. Here are two scripts that I’ve come up with so far, that … Read more

En Nuestro Desafio tribute video: Powerlines

Inspired by [my favorite band] Tristeza‘s original video for their song En Nuestro Desafio, I’ve created a similar video for this song, as a tribute to how awesome this band and their song is. Tristeza’s original video already fits the song quite well, but one day while driving (and listening to this song of course), I happened to … Read more