UEFI, secure boot and tantrums of Windows 8

I recently purchased a new laptop. As a HP fan, I was biased to buy some HP laptop and this piece of slim beauty caught my eye. HP Envy 4 1025tx. It seemed compatible with Linux so it was a plus point. But since it was out of stock and I was reluctant to buy Asus or Lenovo (Dell is out of the question), I stuck to hp and bought HP Envy 4 1104tx. People ask me why I didn’t but Envy 6. I never liked big laptop with big screens. 14 inches screen is perfect. I’m not going to list the specifications and stuff.

»
Posted in Linux

SIFT Keypoint Matching using Python OpenCV

I have been working on SIFT based keypoint tracking algorithm and something happened on Reddit. Kat wanted this is Python so I added this feature in SimpleCV. Here’s the pull request which got merged.

»
Posted in Computer Vision

Point Cloud Library - Install and Configure - Ubuntu 12.04

A Point Cloud is a set of vertices in a three-dimensional coordinate system. As OpenCV is used to work with two dimensional objects(images), PCL is used to work with three dimensional objects(3D space). Vertices usually represent X, Y and Z coordinates of the external surface of an object.

»
Posted in PCL

Python/C API: Making a Type

This is the third post in the Python/C API series. In previous posts, Python/C API: #include and [Python/C API: Reference Counting](http://jayrambhia.wordpress.com/2012/12/14/pythonc-api-reference-counting/), I have shown how to extend Python with C API and importance of memory management in Python. In this post, we'll be talking about declaring and making a type. This is can also be seen as a class in Python. It has it's init function, deallocating function, etc. Here's the overview.

»
Posted in Python

Python/C API: Reference Counting

5th semester is finally over and let’s just say I have been to the dark side. Moving on. The most important aspect of Python is memory management. As mentioned in the earlier post of this series, PyObject* is a pointer to a weird data type representing an arbitrary Python object. All Python objects have a “type” and a “reference count” and they live on heap so you don’t screw with them and only pointer variables cab be declared. I had skipped the part of referencing. In this post, I’ll talk about Memory Management in Python and Reference Counts.

»
Posted in Python

Python/C API: #include "Python.h"

People are strange when you are stranger. So stop being stranger and start writing emails. You’d get replies.

»
Posted in Python

A Momentary Lapse of Reason and Celebration of The Lizard King

It’s been a few months that I have written something. Well, to write something substantial, I need work which I haven’t done in quite a long time. No commits, no contribution, no projects, no research, nothing! Procrastination all day long. I don’t even remember how I spent my last three months. Probably, listening to some of the best rock bands ever, partying, sleeping, watching movies about the best rock bands, playing Ultimate. No clue. I am the king of people who take bad decisions and no one can beat me at that. Turned down couple of internship opportunities, few projects, Robocon, and the list goes on and the last thing that I really don’t want to add is academics. Had a little tumble down the road. Basking in the glory, I forgot to return back to the ground. I tried to fly. So I threw myself at ground, but couldn’t miss the ground. Probably, I was trying to miss the ground. It turns out this has to happen accidentally.

»
Posted in Python

SIFT based Tracker

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.

»
Posted in Python

Selecting ROI/BB in OpenCV(Mat)

So my mid-terms got over this Monday and I had no idea whatsoever what happened in the 1 week of exams. I started working on SURF feature detector based Tracking algorithm using OpenCV python bindings and SimpleCV. I couldn’t complete it. But I have made significant amount of progress and I’ll write a post about it in few days. While wroking with this idea, I faced a lot of troubles and especially the run-time speed. I was getting less than 1 fps. It’s really irritating to see the code work so slow. Finally, I have decided to switch to C++. I tried couple of things on OpenCV C++ and was amazed to see the run-time speed that I was getting.

»
Posted in Computer Vision

The End: Google Summer of Code 2012

This is the end, beautiful friend

»
Posted in Computer Vision

Proxy settings in Linux

When BITS Goa adapted LDAP authentication, I had some problems configuring the proxy settings for apt-get. Many of my batchmates and juniors have faced similar problems so I decided to write a small blog post about it.

»
Posted in Linux

Lucas Kanade Tracker

I am working on a tracking algorithm based on Lucas-Kanade Method using Optical Flow. The Lucas–Kanade method is a widely used differential method for optical flow estimation developed by Bruce D. Lucas and Takeo Kanade. It assumes that the flow is essentially constant in a local neighbourhood of the pixel under consideration, and solves the basic optical flow equations for all the pixels in that neighbourhood, by the least squares criterion.

»
Posted in Computer Vision