17. March 2015       Tutorials, Node.js, Visual Studio

While working on CloudCV I encountered problems in node.js addon written in native code. For CloudCV I use node.js with C++ Addon to separate high-performance algorithms (C++) from high-level networking API which node provides.

In this tutorial I’m going to reveal best practices on debugging C++ Addons for Node.js (0.12) using Visual Studio 2013.

Continue reading if you want to read in details why this works.


 25. December 2014       OpenCV

This post convers very specific but important topic about writing memory-efficient code. I will show you how to collect and analyze memory allocations that happens in OpenCV.

When it comes to writing efficient code we usually care about CPU-efficiency. However there are many times, when memory-efficiency is more important. A limited amount of RAM is not so rare as one can think. On iOS and Android there are a strict memory usage restrictions, and of your app uses more memory than allowed your app can get killed by the system. Embedded hardware systems used in IoT, Raspberri Pi and others also have very limited amount of RAM. So you should be very careful when porting code from desktop with gigabytes of memory to mobile platform.


 04. December 2014       OpenCV, Tutorials, Algorithms

How would you design an algorithm to process 40Mpx image? 100Mpx? What about gigapixel-sized panorams? Obviously, it should differs from those that are intended for 640x480 images. Here I want to present you implementation of the very simple but powerful approach called “Tile-based image processing”. I will show you how to make this using OpenCV.

Tile based image processing


 31. October 2014       Tutorials, Node.js

JavaScript. Do you like debug JavaScript code? I hate it. Literally. What what if you have to? In this post I’m going to show you how to simplify your life by automating unit testing of the JavaScript code for the browser.

To get things more interesting - let’s automate unit-testing of the image processing library called JSFeat. JSFeat provides a JavaScript implementation of the basic image processing operations that let you to process images in your browser and build sophisticated algorithms. It’s like OpenCV for web-browser.

The source code for this tutorial is available on my Github page: https://github.com/BloodAxe/jsfeat.


 01. October 2014       News, Computer Vision Digest

Third computer vision digest. Your monthly portion of news in computer vision for September 2014.

In this issue:

Previous issues:


 11. September 2014       Cloudcv, Node.js, Tutorials

During development of CloudCV I came to the problem on converting v8::Arguments to native C++ data types in my Node.js native module. If you are new to C++ and Node.js, I suggest you to read how to write C++ modules for Node.js and connecting OpenCV and Node.js first.

Mapping V8 data types to native C++ equivalents is trivial, but somewhat wordy. One should take the argument at given index, check whether it is defined, then check it’s type and finally cast to C++ type. This works fine while you have function that receive two or three arguments of trivial type (That can be mapped directly to built-in C++ types). What about strings? Arrays? Complex types like objects or function callback? You code will grow like and became hard-to-maintain pasta-code some day.

In this post I present my approach on solving this problem with a laconic way on describing what do you expect as input arguments.


 30. August 2014       News, Computer Vision Digest

Third computer vision digest. Your monthly portion of news in computer vision for August 2014.

In this issue:

Previous issues: