<br><br><div class="gmail_quote">On Sat, Mar 31, 2012 at 12:24 PM, klo uo <span dir="ltr">&lt;<a href="mailto:klonuo@gmail.com">klonuo@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
While preparing some images for OCR, I usually discard those with low DPI, but as this happens often I thought to try some image processing and on suggestion (<span style="color:rgb(17,17,17);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:14px;line-height:19px;text-align:left;background-color:rgb(253,253,253)">morphological</span> operations) I tried ndimage.morph with idea to play around binary_dilation<div>

<br></div><div>Images were G4 TIFFs which PIL/MPL can&#39;t decode, so I convert to 1bit PNG which I normalized after to 0 and 1.</div><div><br></div><div>On sample img I applied:</div><div><br></div><div>ndi.morphology.binary_dilation(img).astype(img.dtype)</div>

<div><br></div><div>and</div><div><br></div><div>ndi.morphology.binary_erosion(img).astype(img.dtype)</div><div><br></div><div>I attached result images, and wanted to ask two question:</div><div><br></div><div>1. Is this result correct? From what I read today seems like what dilation does is erosion and vice versa, but I probably overlooked something</div>
</blockquote><div><br></div><div>This result looks correct to me. I think it depends on what you consider &quot;object&quot; and &quot;background&quot;: Typically (I think), image-processing operators consider light regions to be objects and dark objects to be background. So dilation grows right regions and erosion shrinks bright regions. Obviously, in your images, definitions of object and background are reversed (black is object; white is background).</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>2. Does someone maybe know of better approach for enhancing original sample for OCR (except thresholding, for which I&#39;m aware)?</div></blockquote><div><br></div><div>Have you tried the `open` and `close` operators? A morphological opening is just an erosion followed by a dilation and the closing is just the reverse (see e.g., the <a href="http://scikits-image.org/docs/dev/api/skimage.morphology.html#greyscale-open">scikits-image docstrings</a>). For an opening, the erosion would remove some of &quot;salt&quot; (white pixels) in the letters, and the dilation would (more-or-less) restore the letters to their original thickness. The closing would do the same for black pixels on the background. </div>
<div> </div><div>There are other approaches of course, but since you&#39;re already thinking about erosion and dilation, these came to mind</div><div><br></div><div>-Tony</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><br></div><div>TIA</div><div><br></div><div><img src="cid:ii_1366991fd2b11631" alt="Inline image 1"><br>
</div>
<br>_______________________________________________<br>
SciPy-User mailing list<br>
<a href="mailto:SciPy-User@scipy.org">SciPy-User@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/scipy-user" target="_blank">http://mail.scipy.org/mailman/listinfo/scipy-user</a><br>
<br></blockquote></div><br>