Note that there are some explanatory texts on larger screens.

plurals
  1. POcolor detection algorithm
    text
    copied!<p>Im developing a system that uses kinect for image processing. The system needs to detect certain objects based on their colors (from the kinect image).</p> <p>My current solution is to use a window (of fixed size) and slide it through the whole image. I then count(in the window) the number of pixels that are green and compare it against some treshold. To check if the pixel is green i use a reference color (0x00FF00) and then calculate the distance of the current pixel to the reference color. </p> <p>The algorithm goes like this:</p> <pre><code>referenceColor = 0x00FF00; window_width = 10; window_height = 10; colorSum = 0; COLOR_TRESHOLD = 20; WINDOW_COLOR_TRESHOLD = 70; foreach (pixel in image) { colorSum = 0; for(i = 0; i &lt; window_width; i++) { for(j = 0; j &lt; window_height; j++) { //get the current pixel that is processed by the window curPixel = image.getPixelAt(i+pixel.indexX,j+pixel.indexY); // calculate the distance distance = sqrt((curPixel.r - referenceColor.r) ^ 2 + (curPixel.g - referenceColor.g) ^ 2 + (curPixel.b - referenceColor.b) ^ 2); // check if distance smaller than the treshold if(distance &lt;= COLOR_TRESHOLD) { // pixel is green colorSum++; } } } // check if there are enough green pixels in the image if(colorSum &gt; WINDOW_COLOR_TRESHOLD) { // green object detected } } </code></pre> <p>The problem with this algorithm is that if the color is to dark/bright (due to sunlight/reflections) it fails (and i have to change the tresholds to get good detection). Ideally i would like to archive that every green pixel/object will get detected (regardless of how bright/dark it is). Does any know any good (robust) algorithm to archive this? Would appreciate a point in the right direction. </p> <p>Thanks.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload