Introducing CloudCV bootstrap

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.

Hacking OpenCV for fun and profit

![](logo.png) 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.

Tile-based image processing

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.

Mapping data from Eigen to OpenCV and back

![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.

A good resource on image processing using Python

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”.

How to detect circles in noisy images

p | This was a request from a(href=“http://www.reddit.com/r/computervision/comments/2a1lvi/help_how_to_process_this_image_to_find_the_circles/") /r/computervision. | A reddit member was asking on how to count number of eggs on quite | noisy image like you may see below. | I’ve decided to write a simple algorithm that does the job and explain how it works. div.beforeafter img(src="source.jpg",alt="before") img(src="display.jpg",alt="after") span.more h2 Step 1 - Filter image p img(src=“source.jpg”,alt=“Source image”) | The original image has noticeable color noise and therefore it must be filtered before we pass it to further stages.

Training Haar cascade in the cloud

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.

Integration of KAZE 1.6 in OpenCV

![AKAZE logo][akaze-logo] A new version of KAZE and AKAZE features is a good candidate to become a part of OpenCV. So i decided to update KAZE port i made a while ago with a new version of these features and finally make a pull request to make it a part of OpenCV. KAZE are now a part of OpenCV library The OpenCV has accepted my pull-request and merged KAZE port into master branch of the OpenCV library.

OpenCV is not a panacea

Perhaps, someone may find this post provocative or offensive. But in fact it’s not. Very often i receive offers from all kind of CXX (CEO, CTO, COO, C-bla-bla-bla) that can be formulated like “We want to build product X using OpenCV”. What’s wrong with you guys? OpenCV is not a panacea. In this post i’ll try to reveal this myth. Although OpenCV does a great help on getting proof-of-concept software that every start-up needs most of all at early stages, it can make a nightmare for developers in production stage.

Instant OpenCV for iOS

img.pull-left.img-thumbnail(src=“instant-opencv-cover.jpg”,alt=“Instant OpenCV for iOS”) p | A new book from authors of OpenCV targeted on iOS development using OpenCV. ul li Learn something new instantly. A short, fast, focused guide delivering immediate results li Build and run your OpenCV code on iOS li Become familiar with iOS fundamentals and make your application interact with the GUI, camera, and gallery li Build your library of computer vision effects, including photo and video filters
1/5 »