Building an interactive GUI with OpenCV


OpenCV is great for all kinds of computer vision tasks. Many of these can run in a fully automated fashion, where parameters for the CV algorithms are provided by the user before the program begins or can be determined algorithmically at run time. Some, however, cannot.

For example, for my current project I am trying to find the optimal settings for OpenCV’s implementation of the stereo block matching algorithm. This requires computing disparity pictures, examining them visually, and deciding whether the parameters let the block matcher perform well or not. This is fairly subjective work, and it’s really annoying if you have to restart your program in order to see results with other settings or, if you’re using e.g. the Python interpreter, retype your arguments and display the window again. Of course, you could run a loop over all possible parameter combinations, but that makes it hard to experiment.


View original post 2,095 more words

Start coding with OpenCV and VS2010 in no time

Rodrigo's Blog

It’s usually very time-consuming to start a new project because you have to manually add the libs and include directories. And when there’s a lot of them. It’s a headache.

Fortunately CMake has made this a really easy step. You only create the CMakeLists.txt file where your project properties reside and CMake does the rest.

In this tutorial I’ll try to explain how to get up and running in no time with OpenCV and Visual Studio 2010.

View original post 535 more words

SIFT based Tracker

Paranoid Android

Scale-invariant feature transform (or SIFT) is an algorithm in computer vision to detect and describe local features in images. The algorithm was published by David Lowe in 1999.SIFT is a method to detect distinct, invariant image feature points, which easily can be matched between images to perform tasks such as object detection and recognition, or to compute geometrical transformation between images.

SIFT keypoints of objects are first extracted from a set of reference images and stored in a database. An object is recognized in a new image by individually comparing each feature from the new image to this database and finding candidate matching features based on Euclidean distance of their feature vectors.

Lowe’s method for image feature generation transforms an image into a large collection of feature vectors, each of which is invariant to image translation, scaling, and rotation, partially invariant to illumination changes and robust to local geometric distortion.

View original post 538 more words

Object Tracking on the Raspberry Pi with C++, OpenCV, and cvBlob

Programmatic Ponderings

Use C++ with OpenCV and cvBlob to perform image processing and object tracking on the Raspberry Pi, using a webcam.

Source code and compiled samples are now available on GitHub. The below post describes the original code on the ‘Master’ branch. As of  May 2014, there is a revised and improved version of the project on the ‘rev05_2014’ branch, on GitHub. The details the changes and also describes how to install OpenCV, cvBlob, and all dependencies!


As part of a project with a local FIRST Robotics Competition (FRC) Team, I’ve been involved in developing a Computer Vision application for use on the Raspberry Pi. Our FRC team’s goal is to develop an object tracking and target acquisition application that could be run on the Raspberry Pi, as opposed to the robot’s primary embedded processor, a National Instrument’s NI cRIO-FRC II. We chose to work in C++ for its speed…

View original post 1,306 more words

20 words that once meant something very different

Words change meaning all the time — and over time. Language historian Anne Curzan takes a closer look at this phenomenon, and shares some words that used to mean something totally different.

Words change meaning over time in ways that might surprise you. We sometimes notice words changing meaning under our noses (e.g., unique coming to mean “very unusual” rather than “one of a kind”) — and it can be disconcerting. How in the world are we all going to communicate effectively if we allow words to shift in meaning like that?

The good news: History tells us that we’ll be fine. Words have been changing meaning — sometimes radically — as long as there have been words and speakers to speak them. Here is just a small sampling of words you may not have realized didn’t always mean what they mean today.

  1. Nice: This word used to mean “silly, foolish…

View original post 802 more words

Computer Vision Algorithm Implementations

Something More for Research

Participate in Reproducible Research

General Image Processing

(C/C++ code, BSD lic) Image manipulation, matrix manipulation, transforms
(C/C++ code, BSD lic) Basic image processing, matrix manipulation and feature extraction algorithms: rotation, flip, photometric normalisations (Histogram Equalization, Multiscale Retinex, Self-Quotient Image or Gross-Brajovic), edge detection, 2D DCT, 2D FFT, 2D Gabor, PCA to do Eigen-Faces, LDA to do Fisher-Faces. Various metrics (Euclidean, Mahanalobis, ChiSquare, NormalizeCorrelation, TangentDistance, …)
(C/C++ code, GPL lic) GradientShop: A Gradient-Domain Optimization Framework for Image and Video Filtering
(C/C++ code, MIT lic) A Free Experimental System for Image Processing (loading, transforms, filters, histogram, morphology, …)
(C/C++ code, GPL and LGPL lic) CImg Library is an open source C++ toolkit for image processing
Generic Image Library (GIL) – boost integration
(C/C++ code, MIT lic) Adobe open source C++ Generic Image Library (GIL)
SimpleCV a kinder, gentler machine vision library
(python code, MIT lic) SimpleCV is…

View original post 16,541 more words

Floating Seawer Skyscraper Rids The World’s Oceans Of Plastic While Generating Clean Energy

Genesis Nanotechnology

seawater floatinggSeawer is a self-supported hydroelectric power station that can generate electricity using seawater at the same time that it cleans up plastic waste. The huge structure separates plastic particles and fluids, recycles seawater and releases it back into the ocean.

The structure receives energy from the sun, ocean and plastics and moves slowly from one polluted area to the next. The project received an honorable mention in the 2014 eVolo Skyscraper Competition.

Millions of tons of trash enter the ocean each year and cluster in particular areas of the world’s oceans. One of the most infamous plastic debris patches is located in the North Pacific Subtropical Gyre, commonly referred to as the Great Pacific Garbage Patch (GPGP).

This piece of “plastic soup” is twice the size of Texas and contains six times more plastic than plankton biomass. Seawer skyscraper was designed to tackle this issue while generating electricity…

View original post 105 more words