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.
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.
![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.
This post is outdated. Please, visit updated post: Integration of KAZE 1.6 in OpenCV A new version of KAZE features has been integrated my private fork of OpenCV (You can find it’s here: https://github.com/BloodAxe/opencv/tree/kaze-features). We’re on the way to make pull-request and integrate KAZE features to official OpenCV repository. There only few things are left: Include KAZE into features2d unit tests. Rewrite KAZE to support OpenCV threading API.
Recently i came across the publications to a new features called KAZE (Japanesee work meaning “Wind”). They interested me, because KAZE authors provided very promising evalutaion results and i decided to evaluate them too using my OpenCV features comparison tool. Fortunately KAZE algorithm is based on OpenCV, so it was not too hard to wrap KAZE features implementatino to cv::Feature2D API. This post is outdated. Please, visit updated post: Integration of KAZE 1.
Here is an update of half year-old post about differences between existing feature detection algorithms. Original article can be found here: Comparison of the OpenCV’s feature detection algorithms – I. I decided to update this comparison report since many things happened: OpenCV 2.3.1 has been released and the new type of feature detector (ORB feature detector) has been introduced. ORB is an acronym of Oriented-BRIEF and uses modified to compute orientation FAST detector for detection stage and BRIEF for descriptor extraction.
A brief tutorial/intro to the mathematical morphology in image processing. Basic Definitions The term morphology refers to the description of the properties of shape and structure of any objects. In the context of computer vision, this term refers to the description of the properties of shapes of areas on the image. Operations of mathematical morphology were originally defined as operations on sets, but it soon became clear that they are also useful in the processing tasks of the set of points in the two-dimensional space.