Here’s an open-source ready to use bootstrap project written in Node.js that lets you to quickly build a REST service to host your image processing and computer vision code in a cloud environment. Please welcome: cloudcv-bootstrap. I made this project aside of CloudCV to keep it simple but functionaly. It is self-contained Node.js project that helps you to get quick results on building and deploying your first server-based image processing service.
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. This article is valid for Node.
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. First, let’s define a few restrictions in order to simplify our implementation. In this tutorial I will consider a ‘pass-through’ pipeline - when we apply some function to input image and give an output image of the same size as an output.
![NanCheck](logo.jpg) 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.
![Eigen2CV](eigen2cv.png) Eigen is a C++ template library for matrix and vector operations. It is highly optimized for numeric operations and support vectorization and use aligned memory allocators. When it comes to matrix operations, Eigen is much faster than OpenCV. However, it can be situations when it is necessary to pass Eigen data to OpenCV functions. In this post I will show how to map Eigen data to OpenCV with easy and efficient way.
Let me introduce you Adrian Rosebrock and his http://www.pyimagesearch.com/ website. It’s about computer vision and image processing using Python and OpenCV. Looks like there are more than one person that like to share programming experience via blogging :) Here’s how Adrian position himself: This blog is dedicated to helping other programmers understand how image search engines work. While a lot of computer vision concepts are theoretical in nature, I’m a big fan of “learning by example”.
In this post I’ll show you how you can train cascade classifier with OpenCV very quickly even if you have low-end hardware using virtual machine in the cloud. Why Clouds? Well, training a descriptor takes a lot of time. Depending on template size, number of samples and stages, it can take from several ours to a couple of days to train such cascade! Be prepared that during training stage your PC will likely be unusuable due to high RAM usage and CPU load.
img.img-thumbnail.pull-left(src=“travis-logo.png”) p | In this post i will show you how i implemented continuous integration and testing in my a(href=“http://cloudcv.io") CloudCV | project. Healthy unit tests and easy and continuous integration workflow is a must in any project goes beyound “Hello, world” application. | Today software is a mixture of technologies of all kind. Therefore it can break literally everywhere. Each integration point is a place of risk. | The CloudCV has a C++ backend that is using OpenCV library, it’s front-end is written in Node.
After a long delay i’m happy to resume posting OpenCV tutorials in my blog. In Part 7 i will present you a new way of generation of icons for samples. Also i’ll show how to use NEON and assembly language to speed-up cv::transform function twice! Also there are three new samples i have to say few words about each. Interface improvements Default sample icons I think each sample has to have it’s own unique icon image.