Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You can look into OpenCV, which is popular for programmers learning about image processing and vision. You'll find an endless number of posts here on StackOverflow about OpenCV.</p> <p><a href="http://opencv.org/" rel="nofollow">http://opencv.org/</a></p> <p>Some freeware GUIs and free starter versions of commercial image processing packages will allow you to test image processing techniques without having to write the code. ImageJ is old but still worth checking out:</p> <p><a href="http://rsbweb.nih.gov/ij/" rel="nofollow">http://rsbweb.nih.gov/ij/</a></p> <p>I don't want to show favoritism towards any of my sisters and brothers in the image processing world, but if you google for "machine vision free" or "computer vision free" and add words such as "GUI" you should be able to quickly find some free software that will allow you to test different image processing techniques just by using your mouse.</p> <p>Along with your OCR algorithm, you'll need a segmentation method to count objects.</p> <p>One such technique is the connected components algorithm:</p> <p><a href="http://en.wikipedia.org/wiki/Connected-component_labeling" rel="nofollow">http://en.wikipedia.org/wiki/Connected-component_labeling</a></p> <p>The typical connect components algorithm would rely on some preprocessing:</p> <ol> <li>Find a binarization threshold.</li> <li>Apply the binarization threshold to generate an image of black (0) and white (1) values.</li> <li>Run the connect components algorithm and label all components (objects)</li> <li>Filter the results by size and other parameters. For example, you probably don't want to include foreground objects that are only a few pixels in size.</li> <li>Check the size of the list of filtered components.</li> </ol> <p>This is a simple, low-level method, but it's useful in many situations. Even if you think you need a more complicated technique, I would strongly recommend that you first become familiar with connected components before moving on. Until one grasps the subtleties of lighting, binarization, and component labeling, it's unlikely one can learn much useful about more complicated algorithms. There really are no shortcuts.</p> <p>There are other,more complicated methods, but before suggesting which might be appropriate you would have to be more specific about what kind of objects you want to find. </p> <p>With any image processing question, always include one or more sample images. It's generally not useful to talk about image processing algorithms without first understanding the image set with which you are working. What may be obvious to you will not be obvious to others, especially those who have spent years working on OCR applications and who have had to deal with a wide variety of backgrounds, scripts, and specifications.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

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