<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8603384150533651201</id><updated>2012-01-05T03:50:21.804-08:00</updated><category term='training data'/><category term='Setup file'/><category term='Page Layout Analysis'/><category term='Release'/><category term='OCR'/><category term='BanglaOCR'/><category term='Bangla OCR'/><category term='tesseract'/><category term='Character Recognition'/><title type='text'>CRBLP Bangla OCR</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-7422642786380876028</id><published>2009-06-17T21:31:00.000-07:00</published><updated>2009-06-17T21:42:04.700-07:00</updated><title type='text'>Text to Image Converter V 0.2 (for Windows)</title><content type='html'>Based on the user feedback we add one option to the Text to Image Generator and released it as version 0.2. There are no major changes compare to the earlier version (&lt;a href="http://crblpocr.blogspot.com/2008/12/text-to-image-converter-v-01-for.html"&gt;Text to Image Generator version 0.1&lt;/a&gt;). See the &lt;a href="http://crblpocr.blogspot.com/2008/12/text-to-image-converter-v-01-for.html"&gt;earlier version&lt;/a&gt; post to know about the Prerequisites, User's manual and Feedback.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Major Changes:&lt;/span&gt;&lt;br /&gt;Just added the facility to load the text from a text file. To do this user has to click on the Open menu item and select the text file from the dialogue box.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Acknowledgement: &lt;/span&gt;&lt;br /&gt;Sriranga(76yrsold)&lt;br /&gt;withblessings@gmail.com&lt;br /&gt;&lt;br /&gt;Download Link:&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/Text%20to%20Image%20Generator%20V%200.2%20Setup%20%28for%20Windows%29.zip"&gt;Text to Image Converter (Setup file)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/Text%20to%20Image%20Generator%20V%200.2%20%28source%29.zip"&gt;Text to Image Converter (VS .NET source file)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-7422642786380876028?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/7422642786380876028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=7422642786380876028' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7422642786380876028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7422642786380876028'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2009/06/text-to-image-converter-v-02-for.html' title='Text to Image Converter V 0.2 (for Windows)'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-1052400427008382562</id><published>2009-05-18T00:48:00.000-07:00</published><updated>2009-05-18T01:02:24.289-07:00</updated><title type='text'>BanglaOCR V 0.6 (for Linux users) | Released</title><content type='html'>This is the announcement about the release of BanglaOCR V 0.6 (for Linux users). The release information is provided below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Perquisites:&lt;/span&gt;&lt;br /&gt;1. Tesseract OCR&lt;br /&gt;2. Tidy&lt;br /&gt;3. Java Runtime Environment (v 1.6)&lt;br /&gt;4. Font : SolaimanLipi&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Feedback:&lt;/span&gt;&lt;br /&gt;Any feedback about the application is highly appreciable. At present you can post feedback on the following email address: bangla.ocr@gmail.com&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Test Images:&lt;/span&gt;&lt;br /&gt;A set of test images are also provied with this package. So, please feel free to download and test. The images were randomly selected to test the application and obviously not based on the best performance.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Download Link:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/banglaOCR_v0.6.tar.bz2"&gt;BanglaOCR V 0.6 (Linux Users)&lt;/a&gt;&lt;a href="http://banglaocr.googlecode.com/files/Image%20Collection%20for%20testing.zip"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-1052400427008382562?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/1052400427008382562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=1052400427008382562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/1052400427008382562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/1052400427008382562'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2009/05/banglaocr-v-06-for-linux-users-released.html' title='BanglaOCR V 0.6 (for Linux users) | Released'/><author><name>Shouro</name><uri>http://www.blogger.com/profile/12503282499900460041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_vRnrzyq71IY/SZNE7t4ujNI/AAAAAAAAAtA/FUtpOAui9ZI/S220/Ahriman.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-8077789659815837600</id><published>2009-05-07T23:39:00.000-07:00</published><updated>2009-05-07T23:42:23.885-07:00</updated><title type='text'>BanglaOCR V 0.7 | Source Code Released</title><content type='html'>This is the announcement about the release of the source code of BanglaOCR (Windows) V 0.7. &lt;br /&gt;&lt;br /&gt;&lt;B&gt;Feedback:&lt;/B&gt;&lt;br /&gt;Please send feedback on the following email address: bangla.ocr@gmail.com&lt;br /&gt;&lt;br /&gt;&lt;B&gt;Test Images:&lt;/B&gt;&lt;br /&gt;A set of test images are also available in the same site where the OCR setup package is available. So, please feel free to download them and test. &lt;br /&gt;&lt;br /&gt;&lt;B&gt;Download Link:&lt;/B&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/BanglaOCR%20V%200.7%20%28Source%20code%29.zip"&gt;BanglaOCR V 0.7 (source code)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/Image_Collection_for_testing.tar.bz2"&gt;Test Images set 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/image_collection_2.zip"&gt;Test Images set 2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-8077789659815837600?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/8077789659815837600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=8077789659815837600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/8077789659815837600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/8077789659815837600'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2009/05/banglaocr-v-07-source-code-released.html' title='BanglaOCR V 0.7 | Source Code Released'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-678455851651445987</id><published>2009-05-07T22:49:00.000-07:00</published><updated>2009-05-07T23:06:31.954-07:00</updated><title type='text'>BanglaOCR V 0.7 | Released</title><content type='html'>This is the announcement about the release of BanglaOCR V 0.7. The release information is provided below:&lt;br /&gt;&lt;br /&gt;&lt;B&gt;Perquisites:&lt;/B&gt;&lt;br /&gt;1. &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&amp;displaylang=en"&gt;Microsoft .NET Framework Version 2.0 Redistributable Package (x86)&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&amp;displaylang=en"&gt;Microsoft Visual C++ 2005 Redistributable Package (x86)&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://www.softpedia.com/get/Programming/SDK-DDK/Sun-Java-JRE.shtml"&gt;Java Runtime Environment&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;B&gt;User's Manual:&lt;/B&gt;&lt;br /&gt;The manual will be available after installing BanglaOCR. Go to Start&gt;&gt; All Programs &gt;&gt; BanglaOCR&gt;&gt; BanglaOCR User Guide.&lt;br /&gt;&lt;br /&gt;&lt;B&gt;Feedback:&lt;/B&gt;&lt;br /&gt;Any feedback about the application is highly appreciable. At present you can post feedback on the following email address: bangla.ocr@gmail.com&lt;br /&gt;I am planning to build a document image database. So, if you would like, then send us your document images.&lt;br /&gt;&lt;br /&gt;&lt;B&gt;Test Images:&lt;/B&gt;&lt;br /&gt;A set of test images are also available in the same site where the OCR setup package is available. So, please feel free to download them and test. The images were randomly selected to test the application and obviously not based on the best performance.&lt;br /&gt;&lt;br /&gt;&lt;B&gt;Major Changes with v 0.6&lt;/B&gt;&lt;br /&gt;- Skew detection and correction added.&lt;br /&gt;- Noise elimination added.&lt;br /&gt;- Added support to recognize multiple column/block image.&lt;br /&gt;&lt;br /&gt;&lt;B&gt;Download Link:&lt;/B&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/BanglaOCR%20V%200.7%20Setup%20%28for%20Windows%29.zip"&gt;BanglaOCR V 0.7 (Setup file)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/Image_Collection_for_testing.tar.bz2"&gt;Test Images set 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/image_collection_2.zip"&gt;Test Images set 2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-678455851651445987?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/678455851651445987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=678455851651445987' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/678455851651445987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/678455851651445987'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2009/05/banglaocr-v-07-released.html' title='BanglaOCR V 0.7 | Released'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-7367315860147682602</id><published>2009-01-27T21:46:00.000-08:00</published><updated>2009-01-27T21:58:27.711-08:00</updated><title type='text'>Modified Files in OCRopus-0.3.1</title><content type='html'>[dir]&lt;span style="font-weight: bold;"&gt;ocr-bpnat&lt;/span&gt;:&lt;br /&gt;grouping.cc&lt;br /&gt;make-garbage.cc&lt;br /&gt;&lt;br /&gt;[dir]&lt;span style="font-weight: bold;"&gt;colib[path&lt;/span&gt;:/user/local/include/colib]:&lt;br /&gt;ocrinterfaces.h&lt;br /&gt;&lt;br /&gt;[dir]&lt;span style="font-weight: bold;"&gt;ocroscript&lt;/span&gt;:&lt;br /&gt;ocr.pkg&lt;br /&gt;&lt;br /&gt;[dir]&lt;span style="font-weight: bold;"&gt;ocr-utils&lt;/span&gt;:&lt;br /&gt;seg-skel.cc&lt;br /&gt;seg-cuts.cc&lt;br /&gt;seg-ccs.cc&lt;br /&gt;ocr-utils.cc&lt;br /&gt;ocr-utils.h&lt;br /&gt;&lt;br /&gt;[dir]&lt;span style="font-weight: bold;"&gt;ocr-samples&lt;/span&gt;:&lt;br /&gt;ocr-cseg-ccs.cc&lt;br /&gt;ocr-cseg-projection.cc&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-7367315860147682602?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/7367315860147682602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=7367315860147682602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7367315860147682602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7367315860147682602'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2009/01/modified-files-in-ocropus-031.html' title='Modified Files in OCRopus-0.3.1'/><author><name>Shouro</name><uri>http://www.blogger.com/profile/12503282499900460041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_vRnrzyq71IY/SZNE7t4ujNI/AAAAAAAAAtA/FUtpOAui9ZI/S220/Ahriman.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-6496438412788526177</id><published>2008-12-01T20:50:00.000-08:00</published><updated>2008-12-01T21:09:16.367-08:00</updated><title type='text'>BanglaOCR V 0.6 | Source Code Released</title><content type='html'>This is the announcement about the release of the source code of BanglaOCR V 0.6. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feedback:&lt;/b&gt;&lt;br /&gt;Please send feedback on the following email address: bangla.ocr@gmail.com&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Test Images:&lt;/b&gt;&lt;br /&gt;A set of test images are also available in the same site where the OCR setup package is available. So, please feel free to download them and test. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Download Link:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/BanglaOCR%20V%200.6%20%28Source%29.zip"&gt;BanglaOCR V 0.6 (source code)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/Image_Collection_for_testing.tar.bz2"&gt;Test Images&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-6496438412788526177?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/6496438412788526177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=6496438412788526177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/6496438412788526177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/6496438412788526177'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/12/banglaocr-v-06-source-code-released.html' title='BanglaOCR V 0.6 | Source Code Released'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-2577591543520137933</id><published>2008-12-01T18:36:00.000-08:00</published><updated>2008-12-01T18:43:15.062-08:00</updated><title type='text'>Text to Image Converter V 0.1 (for Windows)</title><content type='html'>We feel the requirement of a “Text to Image Converter” at the time when go to prepare training data. There are several specifications about the training images as well as font. Targeting to fulfill those requirements while prepare training data, I just wrote this very simple program. I could do lot more enhancement of this program, however as this is able to fulfill my requirements at present so I am releasing this as V 0.1. The release information is provided below:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Perquisites:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&amp;displaylang=en"&gt;1. Microsoft .NET Framework Version 2.0 Redistributable Package (x86)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;User's Manual:&lt;/b&gt;&lt;br /&gt;The manual will be available after installing Text to Image Generator. Go to Start&gt;&gt; All Programs &gt;&gt; TTI &gt;&gt; Text to Image Generator  User Guide.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feedback:&lt;/b&gt;&lt;br /&gt;This program is basically for the developer who need to prepare artificial training data for OCR. Any feedback about the enhancement or problems of this application is highly appreciable. At present you can post feedback on the following email address: bangla.ocr@gmail.com&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Download Link:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/Text%20to%20Image%20Generator%20V%200.1%20Setup%20%28for%20Windows%29.zip"&gt;Text to Image Converter (Setup file)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/Text%20to%20Image%20Generator%20V%200.1%20%28source%29.zip"&gt;Text to Image Converter (VS .NET source file)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-2577591543520137933?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/2577591543520137933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=2577591543520137933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/2577591543520137933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/2577591543520137933'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/12/text-to-image-converter-v-01-for.html' title='Text to Image Converter V 0.1 (for Windows)'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-3649895535158764506</id><published>2008-11-30T23:50:00.000-08:00</published><updated>2008-12-01T00:01:09.847-08:00</updated><title type='text'>Text to Image Converter (for Linux)</title><content type='html'>For several purposes of our OCR research we needed a converter that can generate an image from any given Bangla/ Bengali text. One of the reasons was to prepare artificial training and testing data. For this reason we finally created a very simple text to image converter. Actually the converter is a collection of two python script files.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Prerequisites:&lt;/span&gt;&lt;br /&gt;pango-view&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Feedback: &lt;/span&gt;&lt;br /&gt;Please reply your feedback to the following email address: bangla.ocr@gmail.com&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Download:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/Text%20to%20Image%20Converter%20%28For%20Linux%29.tar.bz2"&gt;TTI for Linux&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-3649895535158764506?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/3649895535158764506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=3649895535158764506' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/3649895535158764506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/3649895535158764506'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/11/text-to-image-converter-for-linux.html' title='Text to Image Converter (for Linux)'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-7809331629846133990</id><published>2008-11-30T05:19:00.001-08:00</published><updated>2008-11-30T05:28:03.901-08:00</updated><title type='text'>Interesting test on recognition performance of BanglaOCR : DPI &amp; scan vs computer generated image.doc</title><content type='html'>I was planning to test the performance of BanglaOCR for different type image (scanned image and computer generated image) in different dpi.&lt;br /&gt;&lt;br /&gt;First of all I generated 4 images with dpi 100, 200, 300 and 400 ant test the performance. The output is as follows:&lt;br /&gt;&lt;br /&gt;100 dpi:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JAoQEwT08KM/STKTE3JJi_I/AAAAAAAAE1I/yVF0BXpV8vw/s1600-h/p100.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 355px; height: 25px;" src="http://1.bp.blogspot.com/_JAoQEwT08KM/STKTE3JJi_I/AAAAAAAAE1I/yVF0BXpV8vw/s400/p100.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5274439825335356402" /&gt;&lt;/a&gt;&lt;br /&gt;Output: আরো তুমি ভো সারাদিনই খেনা এ।ন আমাদের ধেনভে দাংবা&lt;br /&gt;&lt;br /&gt;200 dpi:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JAoQEwT08KM/STKTFEaIsmI/AAAAAAAAE1Q/GQEfe_8lhnA/s1600-h/p200.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 28px;" src="http://1.bp.blogspot.com/_JAoQEwT08KM/STKTFEaIsmI/AAAAAAAAE1Q/GQEfe_8lhnA/s400/p200.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5274439828896264802" /&gt;&lt;/a&gt; &lt;br /&gt;Output: আরেঢূ তুমি তো সার।দিনই খেল । এখন আমাদের খেলতে দ।ও।&lt;br /&gt;&lt;br /&gt;300 dpi:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JAoQEwT08KM/STKTFZGd0gI/AAAAAAAAE1Y/g4c9T0oIDk8/s1600-h/p300.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 79px;" src="http://3.bp.blogspot.com/_JAoQEwT08KM/STKTFZGd0gI/AAAAAAAAE1Y/g4c9T0oIDk8/s400/p300.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5274439834450907650" /&gt;&lt;/a&gt; &lt;br /&gt;Output: আরে! তুমি তো সারাদিনই খেল। এখন আমাদের খেলভে দাও।&lt;br /&gt;&lt;br /&gt;400 dpi:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JAoQEwT08KM/STKTF5FvLKI/AAAAAAAAE1g/tnYCeBK_VxY/s1600-h/p400.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 94px;" src="http://3.bp.blogspot.com/_JAoQEwT08KM/STKTF5FvLKI/AAAAAAAAE1g/tnYCeBK_VxY/s400/p400.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5274439843037785250" /&gt;&lt;/a&gt;&lt;br /&gt;Output: আরে! তুমি তো সারাদিনই খেল। এখন আমাদের খেলতে দাও।&lt;br /&gt;&lt;br /&gt;In the second of this testing I scanned a line of text (font: SolaimanLipi, size 16) with dpi 100, 200, 300 and 400 ant test the performance. The output is as follows:&lt;br /&gt;&lt;br /&gt;100 dpi:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JAoQEwT08KM/STKTGSGVGPI/AAAAAAAAE1o/pZMIMQRpwDI/s1600-h/scan100dpi_.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 50px;" src="http://3.bp.blogspot.com/_JAoQEwT08KM/STKTGSGVGPI/AAAAAAAAE1o/pZMIMQRpwDI/s400/scan100dpi_.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5274439849751156978" /&gt;&lt;/a&gt;&lt;br /&gt;Output: জারে! ড়ুমি ড়ো পীরুাদিনই খেদীা এখন থীনীদের খেঢৗতে দভো&lt;br /&gt;&lt;br /&gt;200 dpi:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JAoQEwT08KM/STKT_nObBpI/AAAAAAAAE1w/61Lw65x1MJE/s1600-h/scan200dpi_.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 27px;" src="http://2.bp.blogspot.com/_JAoQEwT08KM/STKT_nObBpI/AAAAAAAAE1w/61Lw65x1MJE/s400/scan200dpi_.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5274440834674787986" /&gt;&lt;/a&gt; &lt;br /&gt;Output: আরে! তুমি ভো সারাদিনই খেল। এখন অ।ম।দের খেলভে দ।ও।&lt;br /&gt;&lt;br /&gt;300 dpi:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JAoQEwT08KM/STKUALcY6aI/AAAAAAAAE14/OO7zXNddbuo/s1600-h/scan300dpi_.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 24px;" src="http://1.bp.blogspot.com/_JAoQEwT08KM/STKUALcY6aI/AAAAAAAAE14/OO7zXNddbuo/s400/scan300dpi_.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5274440844397046178" /&gt;&lt;/a&gt; &lt;br /&gt;Output: আরে! তুমি ভো সারাদিনই খেল। এখন আমাদের খেলভে দাও।&lt;br /&gt;&lt;br /&gt;400 dpi:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JAoQEwT08KM/STKUAXZrj2I/AAAAAAAAE2A/lQPQ4mhJqC4/s1600-h/scan400dpi_.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 25px;" src="http://1.bp.blogspot.com/_JAoQEwT08KM/STKUAXZrj2I/AAAAAAAAE2A/lQPQ4mhJqC4/s400/scan400dpi_.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5274440847606910818" /&gt;&lt;/a&gt; &lt;br /&gt;Output: আরে! তুমি তো সারাদিনই খেল। এখন আমাদের খেলভে দাও।&lt;br /&gt;&lt;br /&gt;The above observations make this clear that if we increase the dpi then the output will be better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-7809331629846133990?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/7809331629846133990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=7809331629846133990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7809331629846133990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7809331629846133990'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/11/i-was-planning-to-test-performance-of.html' title='Interesting test on recognition performance of BanglaOCR : DPI &amp; scan vs computer generated image.doc'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JAoQEwT08KM/STKTE3JJi_I/AAAAAAAAE1I/yVF0BXpV8vw/s72-c/p100.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-6150106172232674511</id><published>2008-11-24T01:47:00.000-08:00</published><updated>2008-11-29T20:53:40.084-08:00</updated><title type='text'>BanglaOCR V 0.5 (for Linux users) | Released</title><content type='html'>This is the announcement about the release of BanglaOCR V 0.5 (for Linux users). The release information is provided below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Perquisites:&lt;/span&gt;&lt;br /&gt;1. Tesseract OCR&lt;br /&gt;2. Tidy&lt;br /&gt;3. Java Runtime Environment (v 1.6)&lt;br /&gt;4. Font : SolaimanLipi&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;User's Manual:&lt;/span&gt;&lt;br /&gt;The manual is available with the package (BanglaOCR User Guide.pdf).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Feedback:&lt;/span&gt;&lt;br /&gt;Any feedback about the application is highly appreciable. At present you can post feedback on the following email address: bangla.ocr@gmail.com&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Test Images:&lt;/span&gt;&lt;br /&gt;A set of test images are also available in the same site where the OCR setup package is available. So, please feel free to download them and test. The images were randomly selected to test the application and obviously not based on the best performance.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Download Link:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/BanglaOCR_linux.tar.bz2"&gt;BanglaOCR V 0.5 (Linux Users)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/Image%20Collection%20for%20testing.zip"&gt;Test Images&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-6150106172232674511?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/6150106172232674511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=6150106172232674511' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/6150106172232674511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/6150106172232674511'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/11/banglaocr-v-05-for-linux-users-released.html' title='BanglaOCR V 0.5 (for Linux users) | Released'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-1568781100854025462</id><published>2008-11-19T22:13:00.000-08:00</published><updated>2008-11-29T22:30:37.903-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BanglaOCR'/><category scheme='http://www.blogger.com/atom/ns#' term='Bangla OCR'/><title type='text'>BanglaOCR V 0.6 | Released</title><content type='html'>This is the announcement about the release of BanglaOCR V 0.6. We already fixed few problems in V 0.5 and after solving those we moved to the next release. The release information is provided below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Perquisites:&lt;/span&gt;&lt;br /&gt;1. &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&amp;displaylang=en"&gt;Microsoft .NET Framework Version 2.0 Redistributable Package (x86)&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&amp;displaylang=en"&gt;Microsoft Visual C++ 2005 Redistributable Package (x86)&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://www.softpedia.com/get/Programming/SDK-DDK/Sun-Java-JRE.shtml"&gt;Java Runtime Environment&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;User's Manual:&lt;/span&gt;&lt;br /&gt;The manual will be available after installing BanglaOCR. Go to Start&gt;&gt; All Programs &gt;&gt; BanglaOCR&gt;&gt; BanglaOCR User Guide.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Feedback:&lt;/span&gt;&lt;br /&gt;Any feedback about the application is highly appreciable. At present you can post feedback on the following email address: bangla.ocr@gmail.com&lt;br /&gt;I am planning to build a document image database. So, if you would like, then send us your document images.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Test Images:&lt;/span&gt;&lt;br /&gt;A set of test images are also available in the same site where the OCR setup package is available. So, please feel free to download them and test. The images were randomly selected to test the application and obviously not based on the best performance.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Download Link:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/BanglaOCR%20V%200.6%20Setup%20%28for%20windows%29.zip"&gt;BanglaOCR V 0.6&lt;/a&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/Image_Collection_for_testing.tar.bz2"&gt;Test Images&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-1568781100854025462?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/1568781100854025462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=1568781100854025462' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/1568781100854025462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/1568781100854025462'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/11/banglaocr-v-05-released.html' title='BanglaOCR V 0.6 | Released'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-2701197987505883563</id><published>2008-11-15T01:02:00.000-08:00</published><updated>2008-11-15T01:26:35.005-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Setup file'/><category scheme='http://www.blogger.com/atom/ns#' term='BanglaOCR'/><category scheme='http://www.blogger.com/atom/ns#' term='Bangla OCR'/><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>BanglaOCR V 0.5 | Internal Release</title><content type='html'>I would be happier if it is possible to avoid the word "Internal Release" now. But unfortunately after waiting for 15 days I am feeling that I should do this. This release is termed as &lt;span style="font-weight:bold;"&gt;internal&lt;/span&gt; as I am experiencing "Memory Leak" problem in my developed application and yet struggling to fix and solve that. However as I am trying to solve the memory leak problem therefore I am releasing this version for the purpose of internal testing and feedback.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Perquisites:&lt;/span&gt;&lt;br /&gt;1. &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&amp;displaylang=en"&gt;Microsoft .NET Framework Version 2.0 Redistributable Package (x86)&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&amp;displaylang=en"&gt;Microsoft Visual C++ 2005 Redistributable Package (x86)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Cautions:&lt;/span&gt;&lt;br /&gt;1. Existence of memory leak problem: You might see that there are error messages about memory allocation. So, in that case you have to close the application and restart the OCR again. This is what the problem that I mentioned above. I am trying to solve this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Feedback:&lt;/span&gt;&lt;br /&gt;Any feedback about the application is highly appreciable. At present you can post feedback on the following email address: bangla.ocr@gmail.com&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Test Images:&lt;/span&gt;&lt;br /&gt;A set of test images are also available in the same site where the OCR setup package is available. So, please feel free to download them and test. The images were randomly selected to test the application and obviously not based on the best performance.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Download Link:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/BanglaOCR%20Internal%20Release.zip"&gt;BanglaOCR V 0.5&lt;/a&gt;&lt;br /&gt;&lt;a href="http://banglaocr.googlecode.com/files/Image%20Collection%20for%20testing.zip"&gt;Test Images&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-2701197987505883563?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/2701197987505883563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=2701197987505883563' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/2701197987505883563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/2701197987505883563'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/11/banglaocr-v-05-internal-release.html' title='BanglaOCR V 0.5 | Internal Release'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-7975269423704302585</id><published>2008-11-01T19:23:00.000-07:00</published><updated>2008-11-01T19:30:00.782-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OCR'/><category scheme='http://www.blogger.com/atom/ns#' term='tesseract'/><category scheme='http://www.blogger.com/atom/ns#' term='training data'/><title type='text'>Bangla tesseract training data v-2.0 have been uploaded</title><content type='html'>I just uploaded the Bangla training data for tesseract engine. To be honest there are lot more works to do to improve the training data so that the recognition performance increases. So, I hope we will be able to improve the training data and thus newer version of the data will be available soon. If anyone want to take part of this task (preparing training data) and need any help then please feel free to contact with me. The links of the training data are given below:&lt;br /&gt;&lt;a href="http://ocropus-bengali.googlecode.com/files/Bangla%20tesseract%20training%20data%20v-2.0.zip"&gt;http://ocropus-bengali.googlecode.com/files/Bangla%20tesseract%20training%20data%20v-2.0.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mhasnat.googlepages.com/Bangla_training_data_v_2_0.zip"&gt;http://mhasnat.googlepages.com/Bangla_training_data_v_2_0.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-7975269423704302585?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/7975269423704302585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=7975269423704302585' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7975269423704302585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7975269423704302585'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/11/bangla-tesseract-training-data-v-20.html' title='Bangla tesseract training data v-2.0 have been uploaded'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-7519044040339350122</id><published>2008-10-28T21:29:00.000-07:00</published><updated>2008-10-28T21:35:21.687-07:00</updated><title type='text'>uncompressed TIFF image converter | VC++ 2005</title><content type='html'>In the past two days I was searching for the source code for converting to an uncompressed tiff image from any image format. At last I got it, the link is as follows:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.drawing.imaging.encoder.compression.aspx"&gt;http://msdn.microsoft.com/en-us/library/system.drawing.imaging.encoder.compression.aspx &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-7519044040339350122?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/7519044040339350122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=7519044040339350122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7519044040339350122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7519044040339350122'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/10/uncompressed-tiff-image-converter-vc.html' title='uncompressed TIFF image converter | VC++ 2005'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-8228619842510135952</id><published>2008-10-28T21:10:00.000-07:00</published><updated>2008-10-28T21:27:08.094-07:00</updated><title type='text'>Current Status of Bangla OCR | 29th OCtober, 2008</title><content type='html'>In the past few days I was feeling the urgency of writing about the current status of our research and development. Its quite long time (more than 40 days) since I post anything about the status of our Bangla OCR into the blog. In the last post I wrote about segmentation success and shown a color segmented image. After that we tried to combine everything and go for the 2nd release of Bangla OCR which will actually tesseract based Bangla OCR. Feeling the actual demand we plan to develop it in both Windows and Linux platform. Thanks goes to Joyonto da, Firoj alam and Murtoza who encourage me to think and move towards both platform. I would like to write that we have significant improvement in our development task. Shouro is dealing with the finishing task of the Ubuntu GUI. I have faced several difficulties regarding to the issues like: including tessnet2.dll, handling the buffer overrun problem, post processor adding etc and spend past two weeks on these. I was depressed because of the problems of tessnet2.dll loading. At last Remi Thomas (developer of tesnet2.dll) ensure me that the problem (buffer overrun) that I was facing was on tesseract. So, I moved my focus back to the tesseract.exe and tried to include it with my windows application and run it as a hidden (background process). Now I am successful because I can see the output. Few things are yet to include in our application. Hope we can finish it soon and also release 2nd version of Bangla OCR.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-8228619842510135952?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/8228619842510135952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=8228619842510135952' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/8228619842510135952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/8228619842510135952'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/10/current-status-of-bangla-ocr-29th.html' title='Current Status of Bangla OCR | 29th OCtober, 2008'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-8835927052355790588</id><published>2008-09-22T05:53:00.000-07:00</published><updated>2008-09-22T05:57:27.198-07:00</updated><title type='text'>Lecture on Optical Character Recognition</title><content type='html'>&lt;object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id="doc_172004025171657" name="doc_172004025171657" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" align="middle" height="500" width="100%"&gt;  &lt;param name="movie" value="http://documents.scribd.com/ScribdViewer.swf?document_id=6155276&amp;access_key=key-1fkm5i882ewzbz2vqv4&amp;page=&amp;version=1&amp;auto_size=true&amp;viewMode="&gt;   &lt;param name="quality" value="high"&gt;   &lt;param name="play" value="true"&gt;  &lt;param name="loop" value="true"&gt;   &lt;param name="scale" value="showall"&gt;  &lt;param name="wmode" value="opaque"&gt;   &lt;param name="devicefont" value="false"&gt;  &lt;param name="bgcolor" value="#ffffff"&gt;   &lt;param name="menu" value="true"&gt;  &lt;param name="allowFullScreen" value="true"&gt;   &lt;param name="allowScriptAccess" value="always"&gt;   &lt;param name="salign" value=""&gt;      &lt;embed src="http://documents.scribd.com/ScribdViewer.swf?document_id=6155276&amp;access_key=key-1fkm5i882ewzbz2vqv4&amp;page=&amp;version=1&amp;auto_size=true&amp;viewMode=" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" play="true" loop="true" scale="showall" wmode="opaque" devicefont="false" bgcolor="#ffffff" name="doc_172004025171657_object" menu="true" allowfullscreen="true" allowscriptaccess="always" salign="" type="application/x-shockwave-flash" align="middle"  height="500" width="100%"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;div style="font-size:10px;text-align:center;width:100%"&gt;&lt;a href="http://www.scribd.com/doc/6155276/Optical-Character-Recognition-for-Bangla-Script"&gt;By: Md. Abul Hasnat&lt;/a&gt; - &lt;a href="http://www.scribd.com/upload"&gt;Upload a Document to Scribd&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-8835927052355790588?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/8835927052355790588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=8835927052355790588' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/8835927052355790588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/8835927052355790588'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/09/lecture-on-optical-character.html' title='Lecture on Optical Character Recognition'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-9059364415269323029</id><published>2008-08-20T08:06:00.000-07:00</published><updated>2008-08-20T19:58:23.760-07:00</updated><title type='text'>Status of Bangla character segmentation</title><content type='html'>This post is specially for those who are concern about our current status of Bangla character segmentation. I would like to show one example:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JAoQEwT08KM/SKzZOBpuMMI/AAAAAAAADOQ/B4WVZCsUC5U/s1600-h/scan0005_3.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_JAoQEwT08KM/SKzZOBpuMMI/AAAAAAAADOQ/B4WVZCsUC5U/s400/scan0005_3.png" alt="" id="BLOGGER_PHOTO_ID_5236799301709869250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Figure 1: Input image&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JAoQEwT08KM/SKzZOiXJdrI/AAAAAAAADOY/UiZgDPW3Cbs/s1600-h/scan0005_3_color.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_JAoQEwT08KM/SKzZOiXJdrI/AAAAAAAADOY/UiZgDPW3Cbs/s400/scan0005_3_color.png" alt="" id="BLOGGER_PHOTO_ID_5236799310490334898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Figure 1: Segmented color image&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Yet there is some modifications need to do.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-9059364415269323029?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/9059364415269323029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=9059364415269323029' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/9059364415269323029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/9059364415269323029'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/08/status-of-bangla-character-segmentation_20.html' title='Status of Bangla character segmentation'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JAoQEwT08KM/SKzZOBpuMMI/AAAAAAAADOQ/B4WVZCsUC5U/s72-c/scan0005_3.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-8071369808579457649</id><published>2008-08-14T05:47:00.001-07:00</published><updated>2008-08-14T05:52:38.365-07:00</updated><title type='text'>Integration of Bangla script recognition support in OCRopus</title><content type='html'>&lt;object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id="doc_321284173399676" name="doc_321284173399676" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" align="middle" height="500" width="100%"&gt;  &lt;param name="movie" value="http://documents.scribd.com/ScribdViewer.swf?document_id=4760378&amp;amp;access_key=key-1yfnp80ctpj2undlasap&amp;amp;page=&amp;amp;version=1&amp;amp;auto_size=true"&gt;   &lt;param name="quality" value="high"&gt;   &lt;param name="play" value="true"&gt;  &lt;param name="loop" value="true"&gt;   &lt;param name="scale" value="showall"&gt;  &lt;param name="wmode" value="opaque"&gt;   &lt;param name="devicefont" value="false"&gt;  &lt;param name="bgcolor" value="#ffffff"&gt;   &lt;param name="menu" value="true"&gt;  &lt;param name="allowFullScreen" value="true"&gt;   &lt;param name="allowScriptAccess" value="always"&gt;   &lt;param name="salign" value=""&gt;      &lt;embed src="http://documents.scribd.com/ScribdViewer.swf?document_id=4760378&amp;amp;access_key=key-1yfnp80ctpj2undlasap&amp;amp;page=&amp;amp;version=1&amp;amp;auto_size=true" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" play="true" loop="true" scale="showall" wmode="opaque" devicefont="false" bgcolor="#ffffff" name="doc_321284173399676_object" menu="true" allowfullscreen="true" allowscriptaccess="always" salign="" type="application/x-shockwave-flash" align="middle" height="500" width="100%"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;div style="font-size: 10px; text-align: center; width: 100%;"&gt;&lt;a href="http://www.scribd.com/doc/4760378/Integration-of-Bangla-script-recognition-support-in-OCRopus-Thesis-Presentation-by-Shouro-Chowdhury"&gt;Thesis Presentation by Shouro Chowdhury&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="display: none;"&gt; Read this document on Scribd: &lt;a href="http://www.scribd.com/doc/4760378/Integration-of-Bangla-script-recognition-support-in-OCRopus-Thesis-Presentation-by-Shouro-Chowdhury"&gt;Integration of Bangla script recognition support in OCRopus [Thesis Presentation by Shouro Chowdhury]&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-8071369808579457649?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/8071369808579457649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=8071369808579457649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/8071369808579457649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/8071369808579457649'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/08/integration-of-bangla-script.html' title='Integration of Bangla script recognition support in OCRopus'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-7367265361442450970</id><published>2008-08-04T02:57:00.000-07:00</published><updated>2008-08-04T03:02:17.324-07:00</updated><title type='text'>Why tesseract need to train all possible combinations of characters/units to recognize Bangla and Devanagari scripts? </title><content type='html'>&lt;title&gt;&lt;/title&gt; 	&lt;meta name="GENERATOR" content="OpenOffice.org 2.4  (Linux)"&gt; 	&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in }&lt;/style&gt;&lt;p style="margin-bottom: 0in; font-weight: bold;"&gt;Background:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: normal;"&gt;The last step of preprocessing is segmentation. Information about the segmented units is passed through the classifier for recognition. Tesseract is very efficiently trained to recognize english text image. To integrate the support for recognition of Indic scripts (Bangla and Devanagari) we have to modify several algorithms. Right now tesseract do not allow us to modify the internal algorithms. So, we need to prepare the test image in such form so that it will be suitable for tesseract to process and recognize. Here I am writing my personal observations after finishing my primary targeted experiment with tesseract to recognize Bangla script.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="margin-bottom: 0in; font-weight: bold;"&gt;Experiments and Observations:&lt;/p&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;We performed our experiment with the training data to make a decision about the necessary amount of data units. For this experimental purpose we considered two issues approaches as follows: &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;" align="justify"&gt;Train dependent 	modifiers separately than the basic units.&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;" align="justify"&gt;Train dependent 	modifiers combined with the basic units.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt;  &lt;p style="margin-bottom: 0in;" align="justify"&gt;By basic units we are considering all the independent vowels, consonants, compound characters (combined consonants). In a word image the modifiers (vowel &amp;amp; consonant) are placed around the core characters and often connected with the basic characters following few certain characteristics. In most of the cases the image of basic character and modifier has a certain amount of overlap between them. As a result it is impossible to make a horizontal and vertical boundary line between them. This scenario is completely different than English character segmentation. Our segmentation algorithm is capable of locating the region of the modifiers without placing any boundary location, and hence it is impossible to generate a bounding box separately for the basic characters and modifiers.  An example of characters with modifier and their break down is shown in figure-1.&lt;/p&gt;&lt;p style="margin-bottom: 0in;" align="justify"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_JAoQEwT08KM/SJbS13hXIVI/AAAAAAAADNY/F3vB2MO7COY/s1600-h/break+down.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 244px; height: 159px;" src="http://bp2.blogger.com/_JAoQEwT08KM/SJbS13hXIVI/AAAAAAAADNY/F3vB2MO7COY/s400/break+down.JPG" alt="" id="BLOGGER_PHOTO_ID_5230599840116187474" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;" align="justify"&gt;   	&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt; 	&lt;title&gt;&lt;/title&gt; 	&lt;meta name="GENERATOR" content="OpenOffice.org 2.4  (Linux)"&gt; 	&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt;  &lt;/p&gt;&lt;p style="margin-bottom: 0in;" align="center"&gt;Figure-1: Characters with modifiers and their break down&lt;/p&gt;  &lt;p style="margin-bottom: 0in;" align="justify"&gt;Depending on the performance of our segmenter, at experimental approach 1 we trained tesseract with the basic units and the modifiers separately to observe whether it is capable of recognizing both the modifier and basic character in case of the presence of certain amount of overlap between them. We observed that during testing the segmenter is capable of making the modifier and basic character disconnected from each. Now, if the segmenter is successful in separating the modifier (example: &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;া&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ে&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ৈ ্য&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;) and basic characters using a vertical column then tesseract will successfully recognize them. However in case of other modifiers (Example: &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ি&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ী&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ু&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ূ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ৃ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ৌ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ঁ&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt; &lt;/span&gt;&lt;/span&gt;and &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;্র&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;) it is not possible for the segmenter to separate them using any vertical column. In such cases tesseract failed to recognize them because it is unable to identify the bounding box for modifier and basic unit.  &lt;/p&gt;  &lt;p style="margin-bottom: 0in;" align="justify"&gt;During recognition of a line image, tesseract extract bounding box of each character image. When the modifier and basic unit has an overlap between them, it identified a box which includes both the modifier and basic character image. As we have no trained unit which includes both the modifier and basic unit, so tesseract will definitely fail in such case. An example of such image is shown in figure-2.&lt;/p&gt;&lt;p style="margin-bottom: 0in;" align="justify"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_JAoQEwT08KM/SJbTGKOKBpI/AAAAAAAADNg/CIby-Axh3RQ/s1600-h/example.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_JAoQEwT08KM/SJbTGKOKBpI/AAAAAAAADNg/CIby-Axh3RQ/s400/example.JPG" alt="" id="BLOGGER_PHOTO_ID_5230600120013817490" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;" align="justify"&gt;   	&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt; 	&lt;title&gt;&lt;/title&gt; 	&lt;meta name="GENERATOR" content="OpenOffice.org 2.4  (Linux)"&gt; 	&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt;  &lt;/p&gt;&lt;p style="margin-bottom: 0in;" align="center"&gt;Figure-2:  Example of test case image&lt;/p&gt;  &lt;p style="margin-bottom: 0in;" align="justify"&gt;So, considering the performance of approach it is clear that for Indic scripts which have similar properties it is necessary to train all possible combinations of the sensitive modifiers (Example: &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ি&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ী&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ু&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ূ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ৃ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ৌ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;ঁ&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt; &lt;/span&gt;&lt;/span&gt;and &lt;span style="font-family:DejaVu Sans;"&gt;&lt;span style="font-family:SolaimanLipi,cursive;"&gt;&lt;span lang="bn-IN"&gt;্র&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;) and basic characters. So, the final training data set (approach-2) will consider the followings:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;" align="justify"&gt;All vowels, 	consonants and numerals&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;" align="justify"&gt;Consonants + vowel 	modifiers&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;" align="justify"&gt;Consonants + 	consonant modifiers&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;" align="justify"&gt;Combined consonants 	(compound character)&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;" align="justify"&gt;Compound characters 	+ vowel modifiers&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;" align="justify"&gt;Compound characters 	+ consonant modifiers&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;p style="margin-bottom: 0in;" align="justify"&gt;Following approach-2 the total amount of training data units will be around 3200.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-7367265361442450970?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/7367265361442450970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=7367265361442450970' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7367265361442450970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7367265361442450970'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/08/why-tesseract-need-to-train-all.html' title='Why tesseract need to train all possible combinations of characters/units to recognize Bangla and Devanagari scripts? '/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_JAoQEwT08KM/SJbS13hXIVI/AAAAAAAADNY/F3vB2MO7COY/s72-c/break+down.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-7522718558383971558</id><published>2008-08-04T02:52:00.000-07:00</published><updated>2008-08-04T03:54:05.075-07:00</updated><title type='text'>How to add a method in OCROPUS-0.2</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;i added a method in in file grouping.cc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;method name is : crblpRecognizeLine(....)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;i did it as the fellowing steps:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;1. added my method body in the file grouping.cc in &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;struct NewGroupingLineOCR : IRecognizeLine {..};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;2. added a fake body in file tesseract.cc in&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;struct TesseractRecognizeLine : IRecognizeLine {..};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;as this: void crblpRecognizeLine(...){}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;3. added a fake body in file glinerec.cc in&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt; struct GLineRec : IRecognizeLine {..};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;as this: void crblpRecognizeLine(...){}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;4. added a prototype in file ocrinterfaces.h in&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;struct IRecognizeLine : IComponent {..};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;as this: virtual void crblpRecognizeLine(...)=0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;5. added a prototype in file ocr.pkg in&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt; struct IRecognizeLine : IComponent {..};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt; as this: virtual void crblpRecognizeLine(...)=0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;now compile&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;" &gt;you can now call it from cpp or lua :-)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-7522718558383971558?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/7522718558383971558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=7522718558383971558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7522718558383971558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/7522718558383971558'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/08/how-to-add-method-in-ocropus-02.html' title='How to add a method in OCROPUS-0.2'/><author><name>Shouro</name><uri>http://www.blogger.com/profile/12503282499900460041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_vRnrzyq71IY/SZNE7t4ujNI/AAAAAAAAAtA/FUtpOAui9ZI/S220/Ahriman.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-5617608039221882064</id><published>2008-08-02T23:59:00.000-07:00</published><updated>2008-08-04T02:49:49.521-07:00</updated><title type='text'>how to install ocropus-0.2 (for newbies)</title><content type='html'>&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;this guide is based on ubuntu 8.04LTS&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;step-1:&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;download ocropus-0.2,tesseract(use svn) and openfst.&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;step2:&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;open terminal (Applications-&gt;accessories-&gt;terminal)&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;make sure you are connected to internet.&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;then enter the fellowing commands -&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install libpng12&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install libpng12-dev&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install libtiff4&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install libtiff4-dev&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install libjpeg62&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install libjpeg62-dev&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install ftjam&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install zlib&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install libleptonica&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install libleptonica-dev&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install libedit-dev&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install aspell-en&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$ sudo apt-get install libaspell-dev&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;step-3:&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;to build and install tesseract go to the tesseract root dir&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;commands are:&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$./configure&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$make&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$sudo make install&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;step-4:&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;to build and install go to the openfst root dir&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$cd fst&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:arial;font-size:100%;"  &gt;$make all&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;pre  style="color: rgb(0, 153, 0);font-family:arial;"&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;$sudo mkdir &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;-&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;p &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;/&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;usr&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;/&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;local&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;/&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;include&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;/&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;fst&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;/&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;lib&lt;br /&gt;$sudo cp &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;-&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;v fst&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;/&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;lib&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;/*.h /usr/local/include/fst/lib&lt;br /&gt;$sudo cp fst/lib/*.a /usr/local/lib&lt;br /&gt;&lt;br /&gt;make sure that all the *.h files in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;/usr/local/include/fst/lib&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;has the permision "read-only" for "others" catagory&lt;br /&gt;make sure &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;/usr/local/lib/libfst.a&lt;/span&gt;&lt;span style="font-size:100%;"&gt; has the same permission&lt;br /&gt;&lt;br /&gt;to do this run these command:&lt;br /&gt;$sudo chmod -R 755 &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;/usr/local/include/fst/lib&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;$sudo chmod 755 &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);font-size:100%;" &gt;/usr/local/lib/libfst.a&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 0);font-size:100%;" &gt;step-5:&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;go to the ocropus root dir the run these commands&lt;br /&gt;$./configure --without-SDL&lt;br /&gt;$jam&lt;br /&gt;$sudo jam install&lt;br /&gt;&lt;br /&gt;!!DONE!!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-5617608039221882064?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/5617608039221882064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=5617608039221882064' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/5617608039221882064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/5617608039221882064'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/08/how-to-install-ocropus-for-newbies.html' title='how to install ocropus-0.2 (for newbies)'/><author><name>Shouro</name><uri>http://www.blogger.com/profile/12503282499900460041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_vRnrzyq71IY/SZNE7t4ujNI/AAAAAAAAAtA/FUtpOAui9ZI/S220/Ahriman.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-238693595443226158</id><published>2008-07-30T04:49:00.000-07:00</published><updated>2008-07-30T04:50:01.784-07:00</updated><title type='text'>Best parameters for bpnet line training for bangla scripts</title><content type='html'>&lt;span style="font-size:180%;"&gt;nhidden - 500&lt;br /&gt;epochs - 200&lt;br /&gt;learningrate - 0.2&lt;br /&gt;testportion - 0&lt;br /&gt;normalize - 1&lt;br /&gt;shuffle - 1&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-238693595443226158?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/238693595443226158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=238693595443226158' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/238693595443226158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/238693595443226158'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/07/best-parameters-for-bpnet-line-training.html' title='Best parameters for bpnet line training for bangla scripts'/><author><name>Shouro</name><uri>http://www.blogger.com/profile/12503282499900460041</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_vRnrzyq71IY/SZNE7t4ujNI/AAAAAAAAAtA/FUtpOAui9ZI/S220/Ahriman.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-710744263907677599</id><published>2008-07-30T02:28:00.000-07:00</published><updated>2008-07-30T04:12:08.417-07:00</updated><title type='text'>Testing performance of ocropus-tesseract for Bangla Script</title><content type='html'>&lt;span style="font-weight: bold;font-size:130%;" &gt;Training&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Ist Step: Decide the training data set&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To prepare the training data for  Bangla characters I considered the followings:&lt;br /&gt;&lt;br /&gt;- Basic characters (vowel + consonant) / units, numerals and symbols&lt;br /&gt;- consonant + vowel modifiers&lt;br /&gt;- consonant + consonant modifiers&lt;br /&gt;- combined consonants (compound character)&lt;br /&gt;- compound character + vowel modifiers&lt;br /&gt;- compound character + consonant modifiers&lt;br /&gt;&lt;br /&gt;The total number of training unit is 3200.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;2nd Step: Prepare training data images&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;We typed all the combinations and take print out of the documents (13 page). Next we scan the pages and manually preprocessed the pages which includes skew correction. We choose the most popular font (SutonnyMJ) that have been widely used for a long time to print Bangla documents as maximum documents that we are targetting to OCRized is written in that font. The font is non unicode which is the only problem because it cannot be used for transcription. So, we used unicode font (Solaimanlipi) to prepare the transcription. An example is shown in figure-1.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_JAoQEwT08KM/SJA-uZSAhII/AAAAAAAADMs/n7A_uep8y1c/s1600-h/fig-1.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 127px;" src="http://bp3.blogger.com/_JAoQEwT08KM/SJA-uZSAhII/AAAAAAAADMs/n7A_uep8y1c/s400/fig-1.png" alt="" id="BLOGGER_PHOTO_ID_5228748134158468226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Figure-1 : Example of training image files&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;3rd Step: Prepare training data files using tesseract&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next we prepare box files (*.box), training files (*.tr), clustered files (*.inttemp, *.normproto and *.pffmtable) and character set file (*.unicharset) appropriate instructions.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;To create box file we didn't rely on the box file creation of process of tesseract as we find that it failed in many times and also it generates inappropriate box information for Bangla characters. So, used our own box file creation lua script which successfully create box file with appropriate transcription. Still we have to handle several character images manually. We might avoid the manual process if we chose mix document like real case in a document image . Another important point here is that we have to eliminate few units during training because of the presence of a certain amount of gap between the core character and its modifier in those character images. An example of such units are given in figure-2.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_JAoQEwT08KM/SJA_qdwUqrI/AAAAAAAADM0/nkgX9RsDch8/s1600-h/fig-2.png"&gt;&lt;img style="cursor: pointer; width: 207px; height: 49px;" src="http://bp3.blogger.com/_JAoQEwT08KM/SJA_qdwUqrI/AAAAAAAADM0/nkgX9RsDch8/s400/fig-2.png" alt="" id="BLOGGER_PHOTO_ID_5228749166151510706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Figure-2 : Example of image units which failed in tesseract training&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;An example of the error report is as follows:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;hasnat@hasnat-desktop:~&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:85%;"&gt;$ tesseract 13.tif junk nobatch box.train&lt;br /&gt;Tesseract Open Source OCR Engine&lt;br /&gt;APPLY_BOXES: boxfile 2/1/সুঁ ((19,1388),(67,1468)): FAILURE! box overlaps no blobs or blobs in multiple rows&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4th Step: Prepare language specific data files&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;To prepare language specific dictionary data file (freq_dawg and word_dawg) we choose a word list of 180K words and frequent word list of 30K words. The third file user_words is empty. We add only two rules in the DangAmbigs file.&lt;br /&gt;&lt;br /&gt;We followed these four stpes to prepare complete training data.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Testing:&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;As we are using ocropus-tesseract so we get the facility of getting preprocessed image just before segmentation. We applied our own segmentation algorithm to segment the words into characters. Figure-3 shows an example of the training image and figure-4 shows the output of our segmenter. This segmented image is then passed to the tesseract recognizer to obtain the output text.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_JAoQEwT08KM/SJBIb5WB0EI/AAAAAAAADM8/xSmvg2Cz50w/s1600-h/test_bb3.png"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_JAoQEwT08KM/SJBIb5WB0EI/AAAAAAAADM8/xSmvg2Cz50w/s400/test_bb3.png" alt="" id="BLOGGER_PHOTO_ID_5228758811464028226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Figure-3 : Test Image&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_JAoQEwT08KM/SJBI07q2riI/AAAAAAAADNE/76Ue4V0J-Is/s1600-h/print_image.png"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_JAoQEwT08KM/SJBI07q2riI/AAAAAAAADNE/76Ue4V0J-Is/s400/print_image.png" alt="" id="BLOGGER_PHOTO_ID_5228759241584979490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Figure-4 : Segmentation result&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;For the test image we got following unicode output.&lt;span class="ocr_line" title="bbox 15 5 989 44"&gt; &lt;span style="font-size:180%;"&gt;শহরেকন্দ্রিধী জীঁবন গেড় উঠলেও বাংল্লদেশের গ্রামের র্জীবনই প্রকৃত বৈশিষ্টে্যযুঁ অধিকারী&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt; My feedback:&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Definitely I am not satisfied with this output. I had the initial expectation that after using the dictionary files of large word list we would be able to get more accurate result than the past approach while we used a word list of only 70 basic characters.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Next TODO:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I plan to do the following tasks to improve the efficiency:&lt;br /&gt;&lt;br /&gt;1. Train each unit with at least 10 samples. (Right now, number of sample per unit = 1)&lt;br /&gt;2. Train each unit with variations.&lt;br /&gt;3. Collect training units from testing documents which is a lenthy process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-710744263907677599?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/710744263907677599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=710744263907677599' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/710744263907677599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/710744263907677599'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/07/testing-performance-of-ocropus.html' title='Testing performance of ocropus-tesseract for Bangla Script'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_JAoQEwT08KM/SJA-uZSAhII/AAAAAAAADMs/n7A_uep8y1c/s72-c/fig-1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-1944407230290394337</id><published>2008-07-19T22:12:00.000-07:00</published><updated>2008-07-19T22:29:40.192-07:00</updated><title type='text'>Training data for ocropus-tesseract</title><content type='html'>&lt;div style="text-align: justify;"&gt;We have created training data for ocropus-tesseract. The training data is available for both Bangla and Devanagari. For Bangla we tried to train all the combinations of minimally segmented data units. For Devanagari we trained with the very basic units.&lt;br /&gt;&lt;br /&gt;We are testing the recognition performance with the trained data units for Bangla script and continue adding more data units to enhance the recognition accuracy. The Devanagari training data is useful for testing the basic character recognition only. It will be helpful to guide anyone who just start trying to recognize Devanagari script using ocropus-tesseract.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The training data is freely available to download. Anyone can download these from the following links:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mhasnat.googlepages.com/Bengali-tesseract-training-data.zip"&gt;&lt;span style="font-style: italic;"&gt;Download Training data for Bangla &lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mhasnat.googlepages.com/devanagari-tesseract-training-data.zip"&gt;&lt;span style="font-style: italic;"&gt;Download Training data for Devanagari &lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-1944407230290394337?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/1944407230290394337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=1944407230290394337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/1944407230290394337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/1944407230290394337'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/07/training-data-for-ocropus-tesseract.html' title='Training data for ocropus-tesseract'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-2110157063190371985</id><published>2008-07-13T07:26:00.001-07:00</published><updated>2008-07-13T19:40:02.675-07:00</updated><title type='text'>How to test Bangla and Devanagari script using OCROPUS(tesseract)</title><content type='html'>&lt;h2 style="font-weight: bold;"&gt;&lt;span style="font-size:180%;"&gt;Introduction&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoBodyText"&gt;This document provides the step-by-step instructions that we followed to test printed document of Bangla and Devanagari script.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;h2 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;span dir="ltr"&gt;&lt;span style=""&gt;&lt;span style="font-size:180%;"&gt;Required files&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style=""&gt;To test Bangla or Devanagari scripts (lang = ban/dev), we have two files in ocropus-0.2/ocroscript subdirectory.&lt;span style=""&gt;  &lt;/span&gt;Those files are: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;span dir="ltr"&gt;&lt;span class="Teletype"&gt;&lt;span style=""&gt;ocropus-0.2/ocroscript/rec-ltess.lua&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span dir="ltr"&gt;&lt;span class="Teletype"&gt;&lt;span style=""&gt;ocropus-0.2/ocroscript/rec-tess.lua&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;    &lt;p class="MsoBodyText" style="margin-bottom: 0.0001pt; text-align: justify;"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-bottom: 0.0001pt; text-align: justify;"&gt;&lt;span class="Teletype"&gt;&lt;span style=""&gt;Among these two lua files rec-ltess.lua is used mainly to observe the performance of ocropus layout analysis and&lt;span style=""&gt;  &lt;/span&gt;rec-tess.lua is used to observe the performance of character recognition. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-bottom: 0.0001pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h2 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;span dir="ltr"&gt;&lt;span class="Teletype"&gt;&lt;span style=""&gt;&lt;span style="font-size:180%;"&gt;Usage of the lua files for testing&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;h3 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;span dir="ltr"&gt;&lt;span class="Teletype"&gt;&lt;span style=""&gt;rec-ltess.lua&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;if #arg &lt;&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    arg = { "../../data/pages/alice_1.png" }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;pages = Pages()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;pages:parseSpec(arg[1])&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;segmenter = make_SegmentPageByRAST()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;page_image = bytearray()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;page_segmentation = intarray()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;line_image = bytearray()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;bboxes = rectanglearray()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;costs = floatarray()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;tesseract_recognizer = make_TesseractRecognizeLine()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;tesseract.init("ban")&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;while pages:nextPage() do&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;   &lt;/span&gt;    pages:getBinary(page_image)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;   &lt;/span&gt;    segmenter:segment(page_segmentation,page_image)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;   &lt;/span&gt;    regions = RegionExtractor()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;   &lt;/span&gt;    regions:setPageLines(page_segmentation)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;   &lt;/span&gt;    for i = 1,regions:length()-1 do&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;      &lt;/span&gt;        regions:extract(line_image,page_image,i,1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;      &lt;/span&gt;        fst = make_StandardFst()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;      &lt;/span&gt;        tesseract_recognizer:recognizeLine(fst,line_image)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;      &lt;/span&gt;        result = nustring()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;      &lt;/span&gt;        fst:bestpath(result)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;      &lt;/span&gt;        print(result:utf8())&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;   &lt;/span&gt;    end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;br /&gt;&lt;/h3&gt;&lt;h3 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;span dir="ltr"&gt;&lt;span class="Teletype"&gt;&lt;span style="font-family:Times;"&gt;rec-tess.lua&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;require 'lib.util'&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;require 'lib.headings'&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;require 'lib.paragraphs'&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;if not tesseract then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    print "Compiled without Tesseract support, can't continue."&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    os.exit(1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;opt,arg = getopt(arg)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;if #arg == 0 then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    print "Usage: ocroscript rec-tess [--tesslanguage=...] input.png ... &gt;output.hocr"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    os.exit(1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;set_version_string(hardcoded_version_string())&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;segmenter = make_SegmentPageByRAST()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;page_image = bytearray()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;page_segmentation = intarray()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;function convert_RecognizedPage_to_PageNode(p)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    page = PageNode()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    page.width = p:width()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    page.height = p:height()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    page.description = p:description()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    for i = 0, p:linesCount() - 1 do&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        local bbox = p:bbox(i)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        local text = nustring()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        p:text(text, i)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        page:append(LineNode(bbox, text))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    return page&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;document = DocumentNode()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;for i = 1, #arg do&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    pages = Pages()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    pages:parseSpec(arg[i])&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    while pages:nextPage() do&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        pages:getBinary(page_image)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        segmenter:segment(page_segmentation,page_image)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        local p = RecognizedPage()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        tesseract_recognize_blockwise(p, page_image, page_segmentation)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        p = convert_RecognizedPage_to_PageNode(p)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        p.description = pages:getFileName()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        local regions = RegionExtractor()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        regions:setPageLines(page_segmentation)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        p.headings = detect_headings(regions, page_image)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        p.paragraphs = detect_paragraphs(regions, page_image)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;        document:append(p)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;    end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"  style="font-size:85%;"&gt;end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span class="Teletype"&gt;&lt;span style="font-size:85%;"&gt;document:hocr_output()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyText"&gt;&lt;br /&gt;&lt;span class="Teletype"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;&lt;b&gt;&lt;span style=""&gt;Note&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt;: At present in ocropus-0.2 this file is suffering from the problem of representing the unicode output for Bangla as well as Devanagari. The reason is that the language specified in this file is overwritten in the file tesseract.cc. So, we edit the file tesseract.cc as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style=""&gt;namespace ocropus {&lt;br /&gt;param_string tesslanguage("tesslanguage", "&lt;b style=""&gt;ban&lt;/b&gt;", "Specify the language for Tesseract");&lt;br /&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style=""&gt;Now the problem of unicode representation is solved.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;span dir="ltr"&gt;&lt;span style=""&gt;&lt;span style="font-size:180%;"&gt;Recognition issue&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;h3 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;span dir="ltr"&gt;&lt;span style=""&gt;Isolated character recognition&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style=""&gt;To perform isolated character recognition using the lua files it is very simple by using the commands:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style=""&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;b&gt;./ocroscript rec-tess.lua test-image.png &gt; out-tess.html&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;span dir="ltr"&gt;&lt;span style=""&gt;Connected character recognition&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family:times new roman;"&gt;To perform connected character recognition first we have to perform character segmentation which will be capable of representing each character as a separate component. An example of segmented image is shown if figure-1 (Bangla) and figure-2 (Devanagari). Here we include the segmentation algorithm inside the rec-tess.lua file. The command for connected character recognition is same as for isolated character recognition.&lt;/span&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: center;" align="center"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:186.75pt;" allowoverlap="f" filled="t"&gt;  &lt;v:fill color2="black"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\Hasnat\LOCALS~1\Temp\msohtml1\01\clip_image001.png" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_JAoQEwT08KM/SHoRAoysHMI/AAAAAAAADMc/FK0-NuU-bzw/s1600-h/6.PNG"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_JAoQEwT08KM/SHoRAoysHMI/AAAAAAAADMc/FK0-NuU-bzw/s400/6.PNG" alt="" id="BLOGGER_PHOTO_ID_5222505420537208002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoCaption" style="text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;Figure &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ Figure \* ARABIC &lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;span style="font-style: normal;font-size:85%;" &gt; Example of Bangla word (a) test word (b) segmented units&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoCaption" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: center;" align="center"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1026" type="#_x0000_t75" style="'width:237.75pt;height:135.75pt;" allowoverlap="f" filled="t"&gt;  &lt;v:fill color2="black"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\Hasnat\LOCALS~1\Temp\msohtml1\01\clip_image003.png" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_JAoQEwT08KM/SHoRQpMyrmI/AAAAAAAADMk/2YG-Y52tGz0/s1600-h/7.PNG"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_JAoQEwT08KM/SHoRQpMyrmI/AAAAAAAADMk/2YG-Y52tGz0/s400/7.PNG" alt="" id="BLOGGER_PHOTO_ID_5222505695524597346" border="0" /&gt;&lt;/a&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoCaption" style="text-align: center;" align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;Figure &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ Figure \* ARABIC &lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt; Example of Devanagari word (a) test word (b) segmented units&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoCaption" style="text-align: center;" align="center"&gt;=====&lt;/p&gt;&lt;p class="MsoCaption" style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Acknowledgement:&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;Souro Chowdhury&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-2110157063190371985?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/2110157063190371985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=2110157063190371985' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/2110157063190371985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/2110157063190371985'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/07/how-to-test-bangla-and-devanagari.html' title='How to test Bangla and Devanagari script using OCROPUS(tesseract)'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_JAoQEwT08KM/SHoRAoysHMI/AAAAAAAADMc/FK0-NuU-bzw/s72-c/6.PNG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-1279944779914961015</id><published>2008-07-13T07:11:00.000-07:00</published><updated>2008-07-13T19:40:26.910-07:00</updated><title type='text'>How to train Bangla and Devanagari script for tesseract engine</title><content type='html'>&lt;h2 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;span dir="ltr"&gt;&lt;span style=""&gt;&lt;span style="font-size:180%;"&gt;Introduction&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;This document provides the step-by-step instructions that we followed to train data for Bangla and Devanagari script. This is just a short version of the document &lt;a href="http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract"&gt;TrainingTesseract&lt;/a&gt;, which we followed to prepare training data for Bangla and Devanagari. No detail explanation for the purpose of each step is given here. &lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h2 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;span dir="ltr"  style="font-size:180%;"&gt;&lt;span style=""&gt;Data files required&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;To train Bangla or Devanagari scripts (lang = ban/dev), you have to create 8 data files in the tessdata subdirectory.&lt;span style=""&gt;  &lt;/span&gt;The 8 files are: &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;1.&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="ltr"&gt; tessdata/lang.freq-dawg&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;2.&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="ltr"&gt; tessdata/lang.word-dawg &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;3. &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="ltr"&gt;tessdata/lang.user-words&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;4. &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="ltr"&gt;tessdata/lang.inttemp &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;5. &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="ltr"&gt;tessdata/lang.normproto &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;6. &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="ltr"&gt;tessdata/lang.pffmtable &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;7. &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="ltr"&gt;tessdata/lang.unicharset &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;8. &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="ltr"&gt;tessdata/lang.DangAmbigs &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h2 style="margin-left: 0in; text-indent: 0in;"&gt;&lt;span dir="ltr"&gt;&lt;span style=""&gt;&lt;span style="font-size:180%;"&gt;Step by step procedure&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style=""&gt;Step – 1: Create training data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;Preparing training data depends on the characters or units that you want to recognize. Decision about the number of training data units depends on the performance of the segmentation algorithm. If you consider minimal segmentation then you have to consider all the combinations formed by the alphabets of your script. However if your segmentation algorithm is well enough to segment the basic units properly then you can train only the basic and compound units of your script. In the fundamental level we consider training only the basic units. An example of the training data units is shown in figure-1 (Bangla training data) and figure-2 (Devanagari training data).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h2 style="margin-left: 0in; text-indent: 0in; text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_JAoQEwT08KM/SHoN6RQFEKI/AAAAAAAADLs/dCqEn-Cmew4/s1600-h/1.PNG"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_JAoQEwT08KM/SHoN6RQFEKI/AAAAAAAADLs/dCqEn-Cmew4/s400/1.PNG" alt="" id="BLOGGER_PHOTO_ID_5222502012603928738" border="0" /&gt;&lt;/a&gt;&lt;/h2&gt; &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoCaption" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;Figure &lt;/span&gt;&lt;/b&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ Figure \* ARABIC &lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;span style="font-style: normal;"&gt;: Training data units for Bangla script&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1027" type="#_x0000_t75" style="'width:347.25pt;height:81pt;" allowoverlap="f" filled="t"&gt;  &lt;v:fill color2="black"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\Hasnat\LOCALS~1\Temp\msohtml1\01\clip_image003.png" title="" cropbottom="16152f" cropright="19602f"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_JAoQEwT08KM/SHoOLNF0zJI/AAAAAAAADL0/lWN7iInpdhM/s1600-h/2.PNG"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_JAoQEwT08KM/SHoOLNF0zJI/AAAAAAAADL0/lWN7iInpdhM/s400/2.PNG" alt="" id="BLOGGER_PHOTO_ID_5222502303544954002" border="0" /&gt;&lt;/a&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoCaption" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;Figure &lt;/span&gt;&lt;/b&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ Figure \* ARABIC &lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-style: normal;"&gt; Training data units for Devanagari script&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style=""&gt;Step – 2: Make Box file&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;In this step we have to prepare a box file (a text file that lists the characters in the training image, in order, one per line, with the coordinates of the bounding box around the image).&lt;span style=""&gt;  &lt;/span&gt;To create the box file,&lt;span style=""&gt;  &lt;/span&gt;run Tesseract on each of your training images using this command line. The command is as follows:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;b&gt;tesseract trainfile.tif trainfile batch.nochop makebox&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;This will generate a file named trainfile.txt that you have to rename as trainfile.box. Then manually edit the box file where you have to replace the Latin characters (first character of each line) with appropriate unicode Bangla/Devanagari character. If any particular character is broken into two boxes then you have to manually merge the boxes. An example of edited box file is shown in figure-3. The generated box file name must be same with the training tif image file name. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1028" type="#_x0000_t75" style="'width:228.75pt;height:155.25pt;" allowoverlap="f" filled="t"&gt;  &lt;v:fill color2="black"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\Hasnat\LOCALS~1\Temp\msohtml1\01\clip_image005.png" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_JAoQEwT08KM/SHoOSHrKnTI/AAAAAAAADL8/xm4wpjSeth4/s1600-h/3.PNG"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_JAoQEwT08KM/SHoOSHrKnTI/AAAAAAAADL8/xm4wpjSeth4/s400/3.PNG" alt="" id="BLOGGER_PHOTO_ID_5222502422350044466" border="0" /&gt;&lt;/a&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoCaption" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;Figure &lt;/span&gt;&lt;/b&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ Figure \* ARABIC &lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-style: normal;"&gt; Box file for Bangla and Devanagari script&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style=""&gt;Step – 3: Run Tesseract for Training&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;For each of your training image and boxfile pairs, run Tesseract in training mode using the following command:&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-indent: 35.45pt;"&gt;&lt;b&gt;tesseract trainfile.tif junk nobatch box.train&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;This will generate a file named trainfile.tr which contains the features of each character of the training page. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style=""&gt;Step – 4: Clustering&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;Clustering is necessary to create prototypes. The character shape features can be clustered using the mftraining and cntraining programs. The mftraining program is invoked using the following command:&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify; text-indent: 35.45pt;"&gt;&lt;b&gt;mftraining trainfile.tr&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;This will output two data files: inttemp&lt;span style=""&gt;  &lt;/span&gt;and pffmtable. (A third file called Microfeat is also written by this program, but it is not used.) &lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;The cntraining program is invoked using the following command:&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify; text-indent: 35.45pt;"&gt;&lt;b&gt;cntraining trainfile.tr&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;This will output the normproto data file. &lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;In case of multiple training data the following command will be used:&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify; text-indent: 35.45pt;"&gt;&lt;b&gt;mftraining trainfile_1.tr trainfile_2.tr ...&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify; text-indent: 35.45pt;"&gt;&lt;b&gt;cntraining trainfile_1.tr trainfile_2.tr ...&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style=""&gt;Step – 5: Compute the Character Set&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;Next you have to generate the unicharset data file using the following command: &lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;&lt;b&gt;unicharset_extractor trainfile.box&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;This will generate a file named unicharset. Tesseract needs to have access to character properties isalpha, isdigit, isupper, islower. To set these properties we have to manually edit the unicharset file and change the default value (0) set for each training character. An example of the unicharset file is shown in figure-4.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoCaption" style="text-align: center;" align="center"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1029" type="#_x0000_t75" style="'width:112.5pt;height:113.25pt;" allowoverlap="f" filled="t"&gt;  &lt;v:fill color2="black"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\Hasnat\LOCALS~1\Temp\msohtml1\01\clip_image007.png" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_JAoQEwT08KM/SHoPbGNoWJI/AAAAAAAADMM/C85qBiE7YxY/s1600-h/4.PNG"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_JAoQEwT08KM/SHoPbGNoWJI/AAAAAAAADMM/C85qBiE7YxY/s400/4.PNG" alt="" id="BLOGGER_PHOTO_ID_5222503676088178834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;Figure &lt;/span&gt;&lt;/b&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ Figure \* ARABIC &lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-style: normal;"&gt; unicharset file for Bangla and Devanagari script&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style=""&gt;Step – 6: Prepare Dictionary data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Tesseract uses 3 dictionary files for each language. Two of the files are coded as a Directed Acyclic Word Graph (DAWG), and the other is a plain UTF-8 text file. To make the DAWG dictionary files, you first need a wordlist for your language. The wordlist is formatted as a UTF-8 text file with one word per line. Split the wordlist into two sets: the frequent words, and the rest of the words, and then use wordlist2dawg to make the DAWG files: &lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; text-indent: 35.45pt;"&gt;&lt;b&gt;wordlist2dawg frequent_words_list freq-dawg&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; text-indent: 35.45pt;"&gt;&lt;b&gt;wordlist2dawg words_list word-dawg&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;The third dictionary file is called user-words and is usually empty. &lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;The dictionary files freq-dawg and word-dawg don't have to be given many words if you don't have a wordlist to hand, but accuracy will be lower. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style=""&gt;Step – 7: Prepare DangAmbigs file&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style=""&gt;This file represents the intrinsic ambiguity between characters or sets of characters. You have to generate this file considering the recognition failure example in your script. An example of the rules is shown in figure-5 for Bangla script.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:259.5pt;height:49.5pt;" allowoverlap="f" filled="t"&gt;  &lt;v:fill color2="black"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\Hasnat\LOCALS~1\Temp\msohtml1\01\clip_image009.png" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_JAoQEwT08KM/SHoPoTZozeI/AAAAAAAADMU/eFBA7tBdEWQ/s1600-h/5.PNG"&gt;&lt;img style="cursor: pointer;" src="http://bp1.blogger.com/_JAoQEwT08KM/SHoPoTZozeI/AAAAAAAADMU/eFBA7tBdEWQ/s400/5.PNG" alt="" id="BLOGGER_PHOTO_ID_5222503902966500834" border="0" /&gt;&lt;/a&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoCaption" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;Figure &lt;/span&gt;&lt;/b&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ Figure \* ARABIC &lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span style="'font-style:normal'"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;b&gt;&lt;span style="font-style: normal;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;  &lt;/span&gt;Ambiguity between characters in Bangla script&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style=""&gt;Step – 8: Rename the necessary files&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="text-align: justify;"&gt;&lt;span style=""&gt;As mentioned in the starting of this document, now you have to rename the necessary 8 files according to your language/script. For Bangla we used lang=“ban” and for Devanagari we used lang=“dev”. So, the name of the necessary 8 files will be prefixed by lang+'.' (Example: ban.unicharset, dev.unicharset). These 8 files must be copied into the tessdata subdirectory if these are generated any other place.&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;=====&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Acknowledgement:&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;Souro Chowdhury&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-1279944779914961015?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/1279944779914961015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=1279944779914961015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/1279944779914961015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/1279944779914961015'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2008/07/how-to-train-bangla-and-devanagari.html' title='How to train Bangla and Devanagari script for tesseract engine'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_JAoQEwT08KM/SHoN6RQFEKI/AAAAAAAADLs/dCqEn-Cmew4/s72-c/1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-3709303174825635319</id><published>2007-10-06T22:34:00.000-07:00</published><updated>2007-10-06T23:45:49.196-07:00</updated><title type='text'>Research and Development of OCR Systems on Bangla Script</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;div align="center"&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td colspan="3" style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 524.6pt;" width="699"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;&lt;span style="font-size: 20pt;"&gt;Research Papers&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td colspan="3" style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 524.6pt;" width="699"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;SL&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;Paper Citation&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;Year&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;1.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;A. K. Roy and B. Chatterjee, "Design of a Nearest   Neighbor Classifier for Bengali Character Recognition", J. IETE, vol.   30, 1984.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;1984&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;2.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;U. Pal and B. B.   Chaudhuri, "OCR In Bangla: An Indo-Bangladeshi Language", Proc. of   12th Int. Conf. on Pattern Recognition, IEEE Computer Society Press, pp.   269-274, 1994.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;1994&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;3.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;B. B. Chaudhuri and U. Pal, "Computer Recognition of   printed Bangla Script", Int. Journal of Systems Science, vol. 26, pp.   2107-2123, 1995.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;1995&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;4.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;B. B. Chaudhuri   and U. Pal, "OCR Error Detection and correction of an Inflectional   Indian Language Script", Proceedings of ICPR, 1996.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;1996&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;5.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;B.B. Chaudhuri and   U. Pal, "Automatic Separation of Words in Multi-Lingual Multi-Script   Indian Documents", IEEE Trans, 1997.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;1997&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;6.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;U. Pal, Ph.D. Thesis, "On The Development of An   Optical Character Recognition (OCR) System For Printed Bangla Script",   Indian Statistical Institute, 1997.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;1997&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;7.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;U. Pal and B. B. Chaudhuri, "Printed Devnagari Script   OCR System", Vivek, vol.10, pp.12-24, 1997.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;1997&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;8.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;B. B. Chaudhuri   and U. Pal, "An OCR System To Read Two Indian Language Scripts: Bangla   And Devnagari (Hindi)", Proc. Fourth Int. conf. on Document Analysis and   Recognition, IEEE Computer Society Press, pp. 1011-1016, 1997.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;1997&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;9.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;B.B. Chaudhuri and   U. Pal, "Skew Angle Detection Of Digitized Indian Script   Documents", IEEE Trans. on Pattern Analysis and Machine Intelligence,   vol. 19, pp.182-186, 1997.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;1997&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;10.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;B. B. Chaudhuri and U. Pal, "A Complete Printed   Bangla OCR System", Pattern Recognition, vol. 31, pp. 531-549, 1998.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;1998&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;11.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;B.B.Chaudhuri and U.Pal, “A complete Bangla OCR System”,   Computer Vision and Pattern Recognition Unit, Indian Statistical Institute,   1998.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;1998&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;12.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;U. Pal and B. B.   Chaudhuri, "Script Line Separation From Indian Multi-Script   Documents", Proceedings of the Fifth International Conference on   Document Analysis and Recognition, ICDAR '99, &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Bangalore&lt;/st1:City&gt;, &lt;st1:country-region st="on"&gt;India&lt;/st1:country-region&gt;&lt;/st1:place&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;1999&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;13.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;U. Pal and B. B.   Chaudhuri, "Automatic Separation of Machine-Printed and Hand-Written   Text Lines", Proceedings of the Fifth International Conference on   Document Analysis and Recognition, ICDAR '99, &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Bangalore&lt;/st1:City&gt;, &lt;st1:country-region st="on"&gt;India&lt;/st1:country-region&gt;&lt;/st1:place&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;1999&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;14.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;U. Pal and B. B.   Chaudhuri, "Automatic Identification of English, Chinese, Arabic,   Devnagari And Bangla Script Line", In Proc. Sixth Int. Conf. on Document   Analysis and Recognition, IEEE Computer Society Press, pp.790-794, 2001.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;2001&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;15.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;U. Pal, M. Mitra   and B. B. Chaudhuri, "Multi-Skew Detection of Indian Script   Documents", IEEE trans, 2001.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;2001&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;16.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Veena Bansal and   R.M.K. Sinha, A Devanagari OCR and A Brief Overview of OCR Research for   Indian Scripts in Proceedings of STRANS01, held at IIT Kanpur, 2001.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;2001&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;17.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;A.Mandal and Prof.   B. B. Chaudhuri, "Page Layout Analyzer For Multilingual Indian   Documents", will be published in the Proceedings of the Language   Engineering Conference 2002 by IEEE CS Press.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;2002&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;18.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Ahmed Asif   Chowdhury, Ejaj Ahmed, Shameem Ahmed, Shohrab Hossain and Chowdhury Mofizur   Rahman"Optical Character Recognition of Bangla Characters using neural   network: A better approach". 2nd International Conference on Electrical   Engineering (ICEE 2002), &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Khulna&lt;/st1:City&gt;,    &lt;st1:country-region st="on"&gt;Bangladesh&lt;/st1:country-region&gt;&lt;/st1:place&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;2002&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;19.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Utpal Garain And   Bidyut B. Chaudhuri, "Segmentation Of Touching Characters In Printed   Devnagari And Bangla Scripts Using Fuzzy Multifactorial Analysis", IEEE   Transactions On Systems, Man, And Cybernetics—Part C: Applications And   Reviews, Vol. 32, No. 4, November 2002&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;2002&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;20.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Jalal Uddin   Mahmud, Mohammed Feroz Raihan and Chowdhury Mofizur Rahman, "A Complete   OCR System for Continuous Bangla Characters", IEEE TENCON-2003:   Proceedings of the Conference on Convergent Technologies for the &lt;st1:place st="on"&gt;Asia&lt;/st1:place&gt; Pacific, 2003.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;2003&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;21.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;A. M. Shoeb Shatil   and Mumit Khan, “Minimally Segmenting High Performance Bangla OCR using   Kohonen Network”, Proc. of 9th International Conference on Computer and   Information Technology (ICCIT 2006), Dhaka, Bangladesh, December 2006.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;2006&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;22.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;S. M. Murtoza   Habib, Nawsher Ahmed Noor and Mumit Khan, Skew correction of Bangla script   using Radon Transform, Proc. of 9th International Conference on Computer and   Information Technology (ICCIT 2006), &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Dhaka&lt;/st1:City&gt;,    &lt;st1:country-region st="on"&gt;Bangladesh&lt;/st1:country-region&gt;&lt;/st1:place&gt;,   December 2006.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;2006&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;23.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Md. Abul Hasnat,   S. M. Murtoza Habib, and Mumit Khan, Segmentation free Bangla OCR using HMM:   Training and Recognition, Proc. of 1st International Conference on Digital   Communications and Computer Applications (DCCA2007), &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Irbid&lt;/st1:City&gt;, &lt;st1:country-region st="on"&gt;Jordan&lt;/st1:country-region&gt;&lt;/st1:place&gt;,   2007.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;2007&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 28.3pt;" width="38"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 464.45pt;" width="619"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 31.85pt;" width="42"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;div align="center"&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 19.55pt;"&gt;   &lt;td colspan="2" style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 479.4pt; height: 19.55pt;" width="639"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 20pt;"&gt;Implementations&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 19.55pt;"&gt;   &lt;td colspan="2" style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 479.4pt; height: 19.55pt;" width="639"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 19.55pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 77.7pt; height: 19.55pt;" width="104"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 401.7pt; height: 19.55pt;" width="536"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;Page Link&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 27.95pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 77.7pt; height: 27.95pt;" width="104"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;BOCRA [2006]&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 401.7pt; height: 27.95pt;" width="536"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;http://bocra.sourceforge.net/doc/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 28.75pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 77.7pt; height: 28.75pt;" width="104"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Apona-pathak [2006]&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 401.7pt; height: 28.75pt;" width="536"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;http://www.apona-bd.com/apona-pathak/bangla-ocr-apona-pathak.html&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 28.75pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 77.7pt; height: 28.75pt;" width="104"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;BanglaOCR [2007]&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 401.7pt; height: 28.75pt;" width="536"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;http://sourceforge.net/project/showfiles.php?group_id=158301&amp;amp;package_id=215908&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-3709303174825635319?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/3709303174825635319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=3709303174825635319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/3709303174825635319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/3709303174825635319'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2007/10/research-papers-sl-paper-citation-year.html' title='Research and Development of OCR Systems on Bangla Script'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-4757455035294302593</id><published>2007-09-09T22:49:00.000-07:00</published><updated>2007-09-09T22:57:06.591-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OCR'/><title type='text'>:-- Optical Character Recognition --:</title><content type='html'>&lt;p class="style4style5" style="text-align: center;" align="center"&gt;    &lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;     &lt;/p&gt;&lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size:11;"&gt;  &lt;hr align="center" color="#333399" noshade="noshade" size="4" width="100%"&gt;  &lt;/span&gt;&lt;/div&gt;  &lt;p&gt;&lt;span class="style9"&gt;&lt;b&gt;Name::&lt;/b&gt;&lt;/span&gt; &lt;span style="font-size:130%;"&gt;BanglaOCR&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;   &lt;span style="font-size:100%;"&gt;&lt;span class="style9"&gt;&lt;b&gt;Summary::&lt;/b&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p style="text-align: justify;"&gt;   This projects aims to develop an Optical Character Recognizer that can recognize Bangla Language Scripts. The entire OCR research and development task is mainly divided into five parts: Preprocessing, Feature Extraction, Training, Recognition and Post-processing. We performed experiment with several techniques for each individual parts and choose the appropriate methods in our implementation. We used Hidden Markov Model (HMM) technique for pattern training and classification. Hidden Markov Model Toolkit (HTK) is used to implement the Training and Classification Task. &lt;/p&gt;  &lt;p&gt;   &lt;span style="font-size:100%;"&gt;&lt;span class="style9"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span class="style9"&gt;&lt;b&gt;Details::&lt;/b&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p style="text-align: justify;"&gt;   BanglaOCR is the Optical Character Recognizer for Bangla Script. It takes scanned images of a printed page or document as input and converts them into editable Unicode text. BanglaOCR allows users to train the data set from any document and observe the recognition performance. &lt;/p&gt; &lt;p style="text-align: justify;"&gt;   BanglaOCR deals will several independent parts as listed below: &lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     Preprocessing   &lt;/li&gt;   &lt;li&gt;     Feature Extraction   &lt;/li&gt;   &lt;li&gt;     Training   &lt;/li&gt;   &lt;li&gt;     Recognition   &lt;/li&gt;   &lt;li&gt;      Post-processing   &lt;/li&gt; &lt;/ul&gt; &lt;p style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt; &lt;br /&gt;&lt;/p&gt;  &lt;p style="text-align: justify;"&gt;   The Preprocessing task involves image acquisition, binarization, noise elimination, skew correction, line and word separation and character segmentation. In this step we put our effort up to minimal segmentation of characters. &lt;/p&gt;  &lt;p style="text-align: justify;"&gt;   The Feature Extraction task involves the extraction of meaningful characteristics of a minimally segmented character. First we divide the character image into several frames using a certain frame length. Then we performed Discrete Cosine Transform (DCT) calculation over each frames. We consider the number of frames and DCT calculated values of each frame as the features for each character. &lt;/p&gt;  &lt;p style="text-align: justify;"&gt;   Training is performed over the calculated features of each minimally segmented character image. We created separate HMM model for each segmented character image. The model creating involves dynamically choosing a prototype HMM model and creates a model using the prototype HMM and the extracted feature data. The model creation task is automatically performed by invoking HInit tool of the HTK toolkit. &lt;/p&gt;  &lt;p style="text-align: justify;"&gt;   The Recognition process invokes the recognition tool HVite of the HTK toolkit. HVite uses feature file of the segmented character image where the features are written in a specified format, the word network that describes the allowable word sequence build up from task grammar, the dictionary that define each character or word, the entire list of HMMs and the .mmf file where the description of each HMM model is written. All these files are constructed according to HTK Toolkit understandable format. After the recognition process is completed the model name is read from the Master Label File (.mmf) and the associated Unicode character for the recognized model is written to the output file. &lt;/p&gt;  &lt;p style="text-align: justify;"&gt;   The final task that BanglaOCR perform is post-processing. This involves a suggestion based spell checker that is capable to identify the erroneous words and produce suggestions. This take the recognizer’s output file as input and produce output file that marks the erroneous words and provides up to a certain number of suggestions. &lt;/p&gt;  &lt;p style="text-align: justify;"&gt;   The project goal of BanglaOCR is to develop a market place standard multilingual OCR system that will be capable to perform the digitization of a wide domain of Bangla Document images. This will help to archive the documents from all spheres and prevent the damage and lost of valuable documents and books. &lt;/p&gt; &lt;p&gt;   &lt;span class="style9"&gt;&lt;br /&gt; &lt;/span&gt; &lt;/p&gt; &lt;p&gt;   &lt;span style="font-size:100%;"&gt;&lt;span class="style9"&gt;&lt;b&gt;Team::&lt;/b&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;ul type="disc"&gt;   &lt;li class="MsoNormal"&gt;     Md. Abul Hasnat [&lt;a href="mailto:%20mhasnat@gmail.com"&gt;email&lt;/a&gt;] [&lt;a href="http://mhasnat.googlepages.com/home"&gt;website&lt;/a&gt;]   &lt;/li&gt;   &lt;li class="MsoNormal"&gt;     S. M. Murtoza Habib [&lt;a href="mailto:murtoza@gmail.com"&gt;email&lt;/a&gt;] [&lt;a href="http://www.murtoza.com/"&gt;website&lt;/a&gt;]   &lt;/li&gt;   &lt;li class="MsoNormal"&gt;     Mumit Khan   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span class="style9"&gt;&lt;b&gt;Status::&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;  &lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     &lt;span class="styletemp"&gt;First version of open source BanglaOCR is released under GNU Public License (GPL) version 2 or later.&lt;/span&gt;   &lt;/li&gt;   &lt;li&gt;     Research work on different parts of BanglaOCR is continuing to enhance the performance and usability.   &lt;/li&gt; &lt;/ul&gt; &lt;p style="margin-left: 0.5in; text-indent: -0.25in;"&gt; &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;   &lt;span style="font-size:100%;"&gt;&lt;b&gt;Research Scope::&lt;/b&gt;&lt;/span&gt; &lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     Research on Feature Extraction of Bengali Characters.   &lt;/li&gt;   &lt;li&gt;     Research on proper Segmentation of Bengali Characters from any type of document image.   &lt;/li&gt;   &lt;li&gt;     Research on the preprocessing of historical Bangla Document Image.   &lt;/li&gt;   &lt;li&gt;     Research on Bangla Handwritten Image.   &lt;/li&gt;   &lt;li&gt;     Research on the Training and Recognition using different techniques.   &lt;/li&gt;   &lt;li&gt;     Research on Multi Lingual OCR.   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;span style="font-size:100%;"&gt;&lt;b&gt;Development Scope::&lt;/b&gt;&lt;/span&gt; &lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     Implement the existing developed versions using different language.   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;span style="font-size:100%;"&gt;&lt;span class="style9"&gt;&lt;b&gt;Timeline::&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;2007 – 2009. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-4757455035294302593?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/4757455035294302593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=4757455035294302593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/4757455035294302593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/4757455035294302593'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2007/09/optical-character-recognition-name.html' title=':-- Optical Character Recognition --:'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-5282534238471265687</id><published>2007-09-09T22:32:00.000-07:00</published><updated>2007-09-09T22:52:28.845-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Character Recognition'/><title type='text'>Character Recognition</title><content type='html'>&lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;  &lt;/p&gt;&lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 11pt;"&gt;  &lt;hr align="center" color="#333399" noshade="noshade" size="4" width="100%"&gt;  &lt;/span&gt;&lt;/div&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Character recognition techniques associate a symbolic identity with the image of character. Character recognition is commonly referred to as optical character recognition (OCR), as it deals with the recognition of optically processed characters. The modern version of OCR appeared in the middle of the 1940’s with the development of the digital computers. OCR machines have been commercially available since the middle of the 1950’s. Today OCR-systems are available both as hardware devices and software packages, and a few thousand systems are sold every week. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   In a typical OCR systems input characters are digitized by an optical scanner. Each character is then located and segmented, and the resulting character image is fed into a preprocessor for noise reduction and normalization. Certain characteristics are the extracted from the character for classification. The feature extraction is critical and many different techniques exist, each having its strengths and weaknesses. After classification the identified characters are grouped to reconstruct the original symbol strings, and context may then be applied to detect and correct errors. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Optical character recognition has many different practical applications. The main areas where OCR has been of importance are text entry (office automation), data entry (banking environment) and process automation (mail sorting). &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   The present state of the art in OCR has moved from primitive schemes for limited character sets, to the application of more sophisticated techniques for omnifont and handprint recognition. The main problems in OCR usually lie in the segmentation of degraded symbols which are joined or fragmented. Generally, the accuracy of an OCR system is directly dependent upon the quality of the input document. Three figures are used in ratings of OCR systems; correct classification rate, rejection rate and error rate. The performance should be rated from the systems error rate, as these errors go by undetected by the system and must be manually located for correction. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   In spite of the great number of algorithms that have been developed for character recognition, the problem is not yet solved satisfactory, especially not in the cases when there are no strict limitations on the handwriting or quality of print. Up to now, no recognition algorithm may compete with man in quality. However, as the OCR machine is able to read much faster, it is still attractive. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   In the future the area of recognition of constrained print is expected to decrease.  Emphasis will then be on the recognition of unconstrained writing, like omnifont and handwriting. This is a challenge which requires improved recognition techniques. The potential for OCR algorithms seems to lie in the combination of different methods and the use of techniques that are able to utilize context to a much larger extent than current methodologies. May be exchanged electronically or printed in a more computer readable form, for instance barcodes. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   The applications for future OCR-systems lie in the recognition of documents where control over the production process is impossible. This may be material where the recipient is cut off from an electronic version and has no control of the production process or older material which at production time could not be generated electronically. This means that future OCR-systems intended for reading printed text must be omnifont. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Another important area for OCR is the recognition of manually produced documents. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Within postal applications for instance, OCR must focus on reading of addresses on mail produced by people without access to computer technology. Already, it is not unusual for companies etc., with access to computer technology to mark mail with barcodes. The relative importance of handwritten text recognition is therefore expected to increase. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal"&gt;   &lt;b&gt;[Source]:&lt;/b&gt; Line Eikvil, "Optical Character Recognition", available at: “citeseer.ist.psu.edu/142042.html". &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-5282534238471265687?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/5282534238471265687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=5282534238471265687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/5282534238471265687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/5282534238471265687'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2007/09/character-recognition-character.html' title='Character Recognition'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-8316926296865742013</id><published>2007-07-31T02:30:00.000-07:00</published><updated>2007-07-31T05:21:57.117-07:00</updated><title type='text'>Related Works: Page Layout analysis for Bangla Document Image</title><content type='html'>&lt;p style="text-align: justify;" class="MsoNormal"&gt;  &lt;/p&gt;&lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;  &lt;hr align="center" color="navy" noshade="noshade" size="4" width="100%"&gt;  &lt;/div&gt;  &lt;p style="text-align: justify;" class="MsoNormal"&gt; &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;     &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;   A. Ray Chaudhuri, A. K. Mandal and B. B. Chaudhuri at [1] present a page layout analyzer for multilingual Indian documents more specifically for Brahmi script based documents. The headline (matra for Bangla, sirorekha for Hindi) is identified as the main feature of these documents. They applied is a bottom up approach for the page layout analysis. Here the text regions are extracted as rectangular blocks containing moderate size connected components satisfying homogeneity or compatibility in terms of headline and other (textual) features particularly available in the considered scripts. Degree of homogeneity is calculated from the compatibility criterion, in terms of selected features. Textual regions or blocks are generated from the optimal bounding boxes (BBs) of all connected components. &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;     &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;   In their work first the likelihood of the headline in a word and vertical line in a word is calculated from the statistical analysis on a large scale of documents. The primary features are extracted from the BBs viz. corners, headline (position and its thickness), the vertical line in the middle zone of UMD, lengthwise distribution of UMD and average number of object pixels per BB, i.e. density of the components. From these primary features some secondary features are calculated as follows: average pixel density of each component, average vertical span of M within a block, average horizontal gap among closest pairs of BBs, inter-headline distances between adjacent vertical BBs, inter-block distance (both horizontal and vertical) and the ratio of number of components between adjacent blocks. The Compatibility criterion for any two scalar quantities L1 and L2 is defined as:&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;&lt;b&gt;&lt;i&gt;Comp (L1, L2) = ½(|1 – L1/L2| + |1 – L2/L1|)&lt;/i&gt;&lt;/b&gt; &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;     &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;   The entire process is completed in three modules. The task in the first module is the block construction using the primary features. The constructed blocks and the remaining BBs are labeled into seven categories (C1 – C7). The second module is applicable for the blocks where one block (F&lt;sub&gt;in&lt;/sub&gt;) is completely or partially resides into the other (F&lt;sub&gt;out&lt;/sub&gt;). The third module is for block merging which is actually applicable only for those blocks that are not yet considered as text (but they are real text in the title). &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;     &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;   S. Khedekar, V. Ramanaprasad, S. Setlur, V. Govindaraju at [2] present a top-down, projection-profile based algorithm to separate text blocks from image blocks in a Devanagari document. They used a distinctive feature called Shirorekha (Header Line) to analyze the pattern. The horizontal profile corresponding to a text block possesses certain regularity in frequency, orientation and shows spatial cohesion. Their algorithm uses these features to identify text blocks. &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;     &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;   The algorithm first generates the horizontal histogram of the entire image. When the horizontal histogram is plotted of the document image, the rows where Shirorekha is present will have maximum number of black pixels. The patterns (profiles) formed by text blocks are characterized by ranges of thick black peaks, separated by white gaps. Any graphics or images by contrast have relatively uniform pattern, with no prominent peaks. Another main feature of a text block is that the histogram corresponding to that block possesses certain frequency and orientation and shows spatial cohesion i.e. adjacent lines are of similar height. Since text lines appear adjacent to each other, we look for adjacent patterns which have identical shape and size distribution. If this profile is found, then this portion of document must contain Devanagari text. Any variation from this characteristic must be an image with or without surrounding text. &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;     &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;     &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;   &lt;span style="font-size:130%;"&gt;Reference:&lt;/span&gt; &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;   &lt;span style="font-size:14;"&gt; &lt;/span&gt; &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;   [1]. A. Ray Chaudhuri, A. K. Mandal, B. B. Chaudhuri, “Page Layout Analyzer for Multilingual Indian Documents”, Proc. of the Language Engineering Conference (LEC’02), 2002. &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;     &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;" class="MsoNormal"&gt;   [2]. S. Khedekar, V. Ramanaprasad, S. Setlur, V. Govindaraju, “Text -image separation in Devanagari documents", Proc. of Seventh International Conference on Document Analysis and Recognition, 2003. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-8316926296865742013?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/8316926296865742013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=8316926296865742013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/8316926296865742013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/8316926296865742013'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2007/07/related-works-page-layout-analysis-for.html' title='Related Works: Page Layout analysis for Bangla Document Image'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-6350293850781300230</id><published>2007-07-04T23:17:00.000-07:00</published><updated>2007-07-31T05:20:33.523-07:00</updated><title type='text'>Planning for the Development of a Database of Document Images for Research on Bangla Optical Character Recognition</title><content type='html'>&lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size:15;"&gt;&lt;hr align="center" color="navy" noshade="noshade" size="4" width="100%"&gt; &lt;/span&gt; &lt;/div&gt; &lt;p class="MsoNormal"&gt;   &lt;b&gt;&lt;span style="font-size:13;"&gt; &lt;/span&gt;&lt;/b&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   First we need to complete the basic study on the existing established Image databases of Document Images for Research purpose. I have observed that the most widely used database for research on document image analysis and recognition is the University of Washington Database where the creation of this database started at around 1990. Papers related to this database were published in 1993 at the Second International Conference on Document Analysis and Recognition. So we need to know details about the technique associated with this database creation. Some papers related to this are listed into the Study material section. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Next we have to look at the existing database for Bangla document Image and their availability. I have found that similar task has been done on “Resource Centre for Indian Language Technology Solutions Bangla” with limited varieties of document from bangla novel. I tried to get access to that resource, but unfortunately I failed. So, we need to build a database with large varieties and distribute this as open. &lt;/p&gt; &lt;p class="MsoNormal"&gt;   &lt;span style=""&gt; &lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal"&gt;   &lt;span style=""&gt;The followings are the basic about the UW databases.&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal"&gt;   &lt;span style=""&gt; &lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal"&gt;   &lt;span style="font-size:130%;"&gt;&lt;b&gt;University&lt;/b&gt;&lt;b&gt; of &lt;/b&gt;&lt;b&gt;Washington&lt;/b&gt;&lt;b&gt; English Document Image Database&lt;/b&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal"&gt;   &lt;span style="font-size:130%;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Series (UW-I, UW-II, UW-III) of document image databases produced by the Intelligent Systems Laboratory, at the University of Washington, Seattle, Washington, USA. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style=""&gt;   Now the most widely used database for existing research and performance evaluation is the University of Washington III (UWIII) database. The database consists of 1600 English document images with bounding boxes of 24177 homogeneous page segments or blocks, which are manually labeled into different classes depending on their contents, making the data very suitable for evaluating a block classification system. The documents in the UW-III dataset are categorized based on their degradation type as follows: &lt;/p&gt; &lt;p class="MsoNormal" style=""&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style=""&gt;   1. Direct scans of original English journals &lt;/p&gt; &lt;p class="MsoNormal" style=""&gt;   2. Scans of first generation English journal photocopies &lt;/p&gt; &lt;p class="MsoNormal" style=""&gt;   3. Scans of second or later generation English journal photocopies &lt;/p&gt; &lt;p class="MsoNormal" style=""&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Many of the documents in the dataset are duplicated and differ sometimes only by the degradation applied to them. This type of collection is useful when one is evaluating a page segmentation algorithm to see how well the algorithm performs when photocopy effect degradation is applied to a document. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   &lt;b&gt;&lt;span style="font-size:13;"&gt; &lt;/span&gt;&lt;/b&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   &lt;span style="font-size:130%;"&gt;&lt;b&gt;UW – I&lt;/b&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Contains 1147 document page images from English Scientific and Technical Journals having &lt;/p&gt; &lt;ul style="margin-top: 0in;" type="disc"&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Binary images scanned from 1st and other generation photocopies   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Binary and grayscale images scanned directly from technical journals   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Synthetic noise-free images generated from LaTeX files   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Document images from UNLV ISRI database   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     All document images zoned and tagged   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Software for OCR performance evaluation   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Software for simulation of photocopy degradation   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Text ground truth generated from two independent data-entry operators followed by three independent verifications   &lt;/li&gt; &lt;/ul&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Each document page has associated with it &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;ul style="margin-top: 0in;" type="disc"&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Text ground truth data for each text zone   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Bounding box information for each zone on the page   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Coarse level attributes for each document page   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Finer level attributes (such as font size, alignment etc.) for each zone   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Qualitative information on the condition of each page   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     AT &amp; T Bell Labs degraded character images database   &lt;/li&gt; &lt;/ul&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   &lt;span style="font-size:130%;"&gt;&lt;b&gt;UW – II&lt;/b&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Contains the followings: &lt;/p&gt; &lt;ul style="margin-top: 0in;" type="disc"&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     624 English journal document pages   &lt;/li&gt;   &lt;ul style="margin-top: 0in;" type="circle"&gt;     &lt;li class="MsoNormal" style="text-align: justify;"&gt;       43 Complete articles     &lt;/li&gt;     &lt;li class="MsoNormal" style="text-align: justify;"&gt;       63 MEMO pages     &lt;/li&gt;   &lt;/ul&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     477 JAPANESE journal document pages.   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Illuminator software produced by RAF   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Corrected data files for the known errors in UW-I   &lt;/li&gt; &lt;/ul&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in; text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Each document page has associated with it &lt;/p&gt; &lt;ul style="margin-top: 0in;" type="disc"&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Text ground truth data for each text zone   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Bounding box information for each zone on the page   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Coarse level attributes for each document page   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Finer level attributes (such as font size, alignment etc.) for each zone   &lt;/li&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Qualitative information on the condition of each page   &lt;/li&gt; &lt;/ul&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in; text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Illuminator is an editor for building document image under- standing test and training sets, for easy correction of OCR errors, and for reverse- encoding the essential information and attributes of a document image page. It has been developed by RAF Technology, Inc., under the auspices of ARPA. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   &lt;span style="font-size:130%;"&gt;&lt;b&gt;UW – III&lt;/b&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Contains the followings: &lt;/p&gt; &lt;ul style="margin-top: 0in;" type="disc"&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     25 pages of Chemical formulae and ground-truth in XFIG 25 pages of Mathematical formulae and ground-truth in XFIG and LaTeX 40 pages of Line drawings and ground-truth in AUTOCAD AND IGES 44 TIFF images of engineering drawings ground-truthed in AUTOCAD 33 TIFF images of English text generated from LaTeX and their   &lt;/li&gt; &lt;/ul&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;ul style="margin-top: 0in;" type="disc"&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Character level ground-truth; 33 printed and scanned pages containing English   &lt;/li&gt; &lt;/ul&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;ul style="margin-top: 0in;" type="disc"&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Text and their character level ground-truth 979 pages from UW-I in DAFS format, corrected for skew, and the word.   &lt;/li&gt; &lt;/ul&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;ul style="margin-top: 0in;" type="disc"&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Bounding boxes for each word on these pages 623 pages from UW-II in DAFS format corrected for skew, and the word.   &lt;/li&gt; &lt;/ul&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;ul style="margin-top: 0in;" type="disc"&gt;   &lt;li class="MsoNormal" style="text-align: justify;"&gt;     Bounding boxes for each word on 607 of these pages Software for:   &lt;/li&gt; &lt;/ul&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-align: justify;"&gt;   - Generating ground-truth for synthetic documents; &lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-align: justify;"&gt;   - Synthetically degrading document images; &lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-align: justify;"&gt;   - Registering ideal document images to real document images; &lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-align: justify;"&gt;   - Transferring character ground-truth between a pair of registered images; &lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-align: justify;"&gt;   - Estimating document degradation model parameters; &lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-align: justify;"&gt;   - Validating degradation models; &lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-align: justify;"&gt;   - Formatting Arabic, Hindi, and music documents in LaTeX; &lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-align: justify;"&gt;   - Testing hypotheses about parameters from a multivariate Gaussian population &lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-align: justify;"&gt;   - TIFF libraries (public domain software from &lt;a href="ftp://ftp.sgi.com/"&gt;ftp.sgi.com&lt;/a&gt;) &lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in; text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   &lt;span style="font-size:130%;"&gt;&lt;b&gt;Required Study Materials:&lt;/b&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   &lt;span style="font-size:130%;"&gt;Research Papers:&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   &lt;span style="font-size:14;"&gt; &lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   [1] &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   I.T. Phillips, S. Chen, J. Ha, and R.M. Haralick, English document database design and implementation methodology, Proc. of the Second Annual Symposium on Document Analysis and Information Retrieval, Las Vegas, NV, April 1993, 65-104. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   [2] &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Guyon, I., Haralick, R. M., Hull, J. J., and Phillips, I. T. (1997). Data sets for OCR and document image understanding research. In Bunke, H. and Wang, P., editors, Handbook of character recognition and document image analysis, pages 779–799. World Scientific, Singapore. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   [3] &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Phillips, Ihsin T.; Ha, Jaekyu; Chen, Su; Haralick, Robert M., "Implementation methodology and error analysis for the University of Washington English Document Image Database-I", Proc. SPIE Vol. 2103, p. 155-173, 22nd AIPR Workshop: Interdisciplinary Computer Vision: Applications and Changing Needs. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Abstract: Document database preparation is a very time-consuming job and usually requires the involvement of many people. Any database is prone to having errors however carefully it was constructed. To assure the high quality of the document image database, a carefully planned implementation methodology is absolutely needed. In this paper, an implementation methodology that we employed to produce the UW English Document Image Database I is described. The paper also discusses how to estimate the distribution of errors contained in a database based on a double-data entry/double verification procedure. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   [4] &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Bhattacharya, U.; Chaudhuri, B.B., "Databases for research on recognition of handwritten characters of Indian scripts", Eighth International Conference on Document Analysis and Recognition, 2005. Proceedings, Vol. 2 On page(s): 789- 793 &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   Abstract: Three image databases of handwritten isolated numerals of three different Indian scripts namely Devnagari, Bangla and Oriya are described in this paper. Grayscale images of 22556 Devnagari numerals written by 1049 persons, 12938 Bangla numerals written by 556 persons and 5970 Oriya numerals written by 356 persons form the respective databases. These images were scanned from three different kinds of handwritten documents - postal mails, job application form and another set of forms specially designed by the collectors for the purpose. The only restriction imposed on the writers is to write each numeral within a rectangular box. These databases are free from the limitations that they are neither developed in laboratory environments nor they are non-uniformly distributed over different classes. Also, for comparison purposes, each database has been properly divided into respective training and test sets. &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;   &lt;span style="font-size:130%;"&gt;Web Links:&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="text-align: justify;"&gt;     &lt;/p&gt; &lt;p class="MsoNormal"&gt;   [1] &lt;a href="http://www.isical.ac.in/%7Eujjwal/download/database.html"&gt;http://www.isical.ac.in/~ujjwal/download/database.html&lt;/a&gt; [Information about the Bangla Character Recognition database.] &lt;/p&gt; &lt;p class="MsoNormal"&gt;     &lt;/p&gt; &lt;p class="MsoNormal"&gt;   [2] &lt;a href="http://www.science.uva.nl/research/dlia/datasets/uwash1.html"&gt;http://www.science.uva.nl/research/dlia/datasets/uwash1.html&lt;/a&gt; [UW English Document Image Database-I] &lt;/p&gt; &lt;p class="MsoNormal"&gt;     &lt;/p&gt; &lt;p class="MsoNormal"&gt;   [3] &lt;a href="http://documents.cfar.umd.edu/resources/database/UWII.html"&gt;http://documents.cfar.umd.edu/resources/database/UWII.html&lt;/a&gt; [UW-II English/Japanese Document Image Database] &lt;/p&gt; &lt;p class="MsoNormal"&gt;     &lt;/p&gt; &lt;p class="MsoNormal"&gt;   [4] &lt;a href="http://documents.cfar.umd.edu/resources/database/3UWCdRom.html"&gt;http://documents.cfar.umd.edu/resources/database/3UWCdRom.html&lt;/a&gt; [UW-III English/Technical Document Image Database] &lt;/p&gt; &lt;p class="MsoNormal"&gt;     &lt;/p&gt; &lt;p class="MsoNormal"&gt;   [5] &lt;a href="http://www.nist.gov/srd/"&gt;http://www.nist.gov/srd/&lt;/a&gt; [NIST Scientific and Technical Database] &lt;/p&gt; &lt;p class="MsoNormal"&gt;     &lt;/p&gt; &lt;p class="MsoNormal"&gt;   [6] &lt;a href="http://www.cfar.umd.edu/%7Ekia/ocr-faq.html#SECTION00022000000000000000"&gt;http://www.cfar.umd.edu/~kia/ocr-faq.html#SECTION00022000000000000000&lt;/a&gt; [OCR Frequently Asked Questions.] &lt;/p&gt; &lt;p class="MsoNormal"&gt;     &lt;/p&gt; &lt;p class="MsoNormal"&gt;   [7] &lt;a href="http://www.isical.ac.in/%7Erc_bangla/products.html#ocr"&gt;http://www.isical.ac.in/~rc_bangla/products.html#ocr&lt;/a&gt; [Resource Centre for Indian Language Technology Solutions Bangla] &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-6350293850781300230?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/6350293850781300230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=6350293850781300230' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/6350293850781300230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/6350293850781300230'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2007/07/planning-for-development-of-database-of_04.html' title='Planning for the Development of a Database of Document Images for Research on Bangla Optical Character Recognition'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-8201262965921959072</id><published>2007-07-04T00:04:00.000-07:00</published><updated>2007-07-31T05:22:40.815-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Page Layout Analysis'/><title type='text'>Feature based approach for Page Layout Extraction</title><content type='html'>&lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;hr align="center" color="navy" noshade="noshade" size="4" width="100%"&gt;  &lt;/div&gt;  This post is actually the underscore of the paper "Document Image Zone Classification: A Simple High-Performance Approach" by Thomas M. Bruel&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Introduction&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;In this paper we address this shortcoming by comparing a large set of commonly used features for block classification and include in the comparison three features that are known to yield good performance in content-based image retrieval (CBIR) and are applicable to binary images (Deselaers et al., 2004). Interestingly, we found that the single feature with the best performance is the Tamura texture histogram, which belongs to this latter class.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Related Work and Contribution&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  Inglis and &lt;st1:city&gt;&lt;st1:place&gt;Witten&lt;/st1:place&gt;&lt;/st1:city&gt; (Inglis and Witten, 1995) used seven features based on connected components and run lengths, the authors apply various machine learning techniques to the problem. In the paper of Okun et al. (Okun et al., 1999) the predominant feature type is based on connected components and run-length statistics. Other features used include the cross-correlation between scan-lines, vertical projection profiles, wavelet coefficients, learned masks, and the black pixel distribution. The most common classifier used is a neural network.    &lt;p class="MsoNormal" style="text-align: justify;"&gt;The widespread use of features based on connected components run-length statistics, combined with the simplicity of implementation of such features, led us to use these feature types in our experiments as well, comparing them to the use of features used in content-based image retrieval. Our CBIR features are based on the open source image retrieval system FIRE (Deselaers et al., 2004). We restrict our analysis for zone classification to those features that are promising for the analysis of binary images.&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;The most recent and detailed overview of the progress in document zone classification and a very accurate system is presented in (Wang et al., 2006). The authors use a decision tree classifier and model contextual dependencies for some zones. In our work we do not model zone context, although it is likely that a context model (which can be integrated in a similar way as presented by Wang et al.) would help the overall classification performance.&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;We expand on the work presented in (Wang et al., 2006) in the following ways: &lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;• We include a detailed feature comparison including a comparison with commonly used CBIR features. It turns out that the single best feature is the Tamura texture histogram which was not previously used for zone classification.&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;• We present results both for a simple nearest neighbor classifier and for a very fast linear classifier based on logistic regression and the maximum entropy criterion. &lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;• We introduce a new class of blocks containing speckles that has not been labeled in the UW-III database. This typical class of noise is important to detect during the layout analysis especially for images of photocopied documents.&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;• We present results for the part of the UW-III database without using duplicates and achieve a similar error rate of 1.5%.&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;• We introduce the use of histograms for the measurements of connected components and run lengths and show that this leads to a performance increase.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;Feature Extractions&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;    We extract the following features from each block, where features 1-3 are chosen based on their performance in CBIR (Deselaers et al., 2004) feature 4 was expected to help distinguish between the types ‘drawing’ and ‘text’ and features 5-9 were chosen based on their common use in block classification (Okun et al., 1999;Wang et al., 2006). Due to space limitations we refer the interested reader to the references for implementation details.    &lt;p class="MsoNormal" style=""&gt;1. Tamura texture features histogram (TTFH)&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;2. Relational invariant feature histograms (RIFH)&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;3. Down-scaled images of size 32×32 (DSI)&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;4. The fill ratio, i.e. the ratio of the number of black pixels in a horizontally smeared (Wong et al., 1982) image to the area of the image (FR)&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;5. Run-length histograms of black and white pixels along horizontal, vertical, main diagonal, and side diagonal directions; each histogram uses eight bins, spaced apart as powers of 2, i.e. counting runs of length _ 1,3,7,15,31,63,127 and _ 128&lt;span style=""&gt;  &lt;/span&gt;(RL{B,W}{X,Y,M,S}H) &lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;6. The vector formed by the total number, mean, and variance of the runs of black and white pixels along the horizontal, vertical, main diagonal, and side diagonal directions as used in (Wang et al., 2006) (RL{B,W}{X,Y,M,S}V) &lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;7. Histograms (as in 5) of the widths and heights of connected components (CCXH, CCYH) &lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;8. The joint distribution of the widths and heights of connected components as a 2-dimensional 64-bin histogram (CCXYH)&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;9. The histogram of the distances between a connected component and its nearest neighbor component (CCNNH)&lt;br /&gt;&lt;/p&gt;    &lt;span style=""&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JAoQEwT08KM/RotI4YfY-nI/AAAAAAAACLA/xZ01kr9J3ew/s1600-h/document+image.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_JAoQEwT08KM/RotI4YfY-nI/AAAAAAAACLA/xZ01kr9J3ew/s320/document+image.JPG" alt="" id="BLOGGER_PHOTO_ID_5083236737901722226" border="0" /&gt;&lt;/a&gt;Fig: Examples of document image block types distinguished in our approach&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;Classifications&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;o:p&gt;&lt;/o:p&gt;  To evaluate the various features, we use a simple nearest neighbor classifier, that is, a test sample is classified into the class the closest training sample belongs to. The distance measures used are the Jensen- Shannon divergence for histograms and the Euclidean distance for all other features (Deselaers et al., 2004). If different feature sets are   combined, the overall distance is calculated as the weighted sum of the individual normalized distances. The weights are proportional to the inverse of the error rate of a particular feature.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:100%;"&gt;Source&lt;/span&gt;: &lt;/span&gt;Daniel Keysers, Faisal Shafait, Thomas M. Breuel, "DOCUMENT IMAGE ZONE CLASSIFICATION A Simple High Performance Approach", VISAPP 2007, pages 44-51 &lt;/div&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-8201262965921959072?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/8201262965921959072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=8201262965921959072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/8201262965921959072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/8201262965921959072'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2007/07/feature-based-approach-for-page-layout.html' title='Feature based approach for Page Layout Extraction'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_JAoQEwT08KM/RotI4YfY-nI/AAAAAAAACLA/xZ01kr9J3ew/s72-c/document+image.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-4701486066423631418</id><published>2007-07-01T00:47:00.000-07:00</published><updated>2007-07-31T05:24:10.689-07:00</updated><title type='text'>Enhanced Constrained Run-Length Algorithm</title><content type='html'>&lt;p class="MsoNormal" style="text-align: justify;"&gt;  &lt;/p&gt;&lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;  &lt;hr align="center" color="navy" noshade="noshade" size="4" width="100%"&gt;  &lt;/div&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-size:14;"&gt;&lt;span style="font-size:130%;"&gt;Introduction&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt;&lt;/o:p&gt;This Enhanced CRLA is a solution to the limitations of CRLA and it can be applied to non-Manhattan (irregularly shaped graphics embedded in text) page layout successfully. It can also extract text surrounded by a box. Both cases cannot be processed by the original CRLA.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-size:14;"&gt;&lt;span style="font-size:130%;"&gt;Preprocess&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;The proposed new version of CRLA is performed on a label image, which is derived from the input document image and has the same size as the document image. To generate the label image, a connected component labeling algorithm is used to locate the foreground components in the document image and calculate their size. Then the label image can be generated by assigning its pixels with certain labels according to the size of the foreground component related to the pixel. Three labels are defined in the present system based on two threshold values (thVal1 &amp; thVal2) as follows:&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;(1) If the height of the foreground component is less than thVal1, its pixels in the label image are assigned the label of “1”.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;(2) If the height of the foreground component is between thVal1 and thVal2, its pixels in the label image are assigned the label of “2”.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;(3) If the height of the foreground component is larger than thVal28, its pixels in the label image are assigned the label of “3”&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;The height is used instead of the width when checking the component size because it is assumed that the text on the document is horizontal alignment. As the characters in a text line may be connected in the scanned document image, checking width may lead to misjudgment of the component size.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;After the label image is yielded, the new CRLA is executed on it in the following manner. Consider, for example, a label string as below&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;110001110002003330000110000000111.&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;By setting a constraint C = 5 to the run-length of zeros that are surrounded by label 1 on both sides, if the length of the consecutive zeros is not longer than C, these zeros are replaced by ones. Based on this operation, the preceding string is converted into&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;111111110002003330000110000000111.&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;This operation is referred to as selective-CRLA{1} where “selective” means it is applied only to those zeros surrounded by the specific label(s) given in the braces. The selective CRLA is performed with a two-pass processing scheme on the label image to separate text from graphics and halftone-image components.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-size:14;"&gt;&lt;span style="font-size:130%;"&gt;Process&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;st1:place&gt;&lt;st1:placename&gt;&lt;b&gt;First&lt;/b&gt;&lt;/st1:placename&gt;&lt;b&gt;  &lt;/b&gt;&lt;st1:placetype&gt;&lt;b&gt;Pass&lt;/b&gt;&lt;/st1:placetype&gt;&lt;/st1:place&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;The process of the first pass uses the following steps to accomplish page segmentation.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;1. Apply selective-CRLA{1} row by row to the label image using&lt;span style=""&gt;  &lt;/span&gt;constraint Chor-1.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;2. Apply selective-CRLA{1} column by column to the label image using a constraint Cver-1.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;3. Combine the images yielded by steps 1 and 2 using a logical AND operation.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;4. Apply an additional selective- CRLA{1} row by row to the image yielded by step 3 using a constraint Csm-1.&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;The purposes of steps 1 and 2 are to link the foreground components horizontally and vertically. Step 3 is to cut the joined foreground areas according to the space between columns and text lines. Finally, step 4 is to remove the small gaps that may exist between characters in a text line. The parameters Chor-1, Cver-1, and Csm-1 are chosen according to the analysis on documents (Please read Post: 2 to know detail about this).&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;After dividing the document image into homogeneous regions, these regions must be further classified into text or non-text according to their features. A number of statistical measurements have been proposed for distinguishing between text and non-text regions for binary document images. Two of them are adopted in the present system: (i) the mean length of horizontal black runs and (ii) the white-black transition count per unit width. These two features can be calculated by scanning a region from left to right in a row-by-row manner. As the scanning proceeds, the horizontal black run-length is accumulated by a counter, BRL, and the white-black transition count by another counter, TC. After the whole region is scanned, the two features are computed by mean length of horizontal black runs&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;MBRL = BRL/TC -- (1)&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;White-black transition count per unit width&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;MTC = TC/W -- (2)&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;where W is the width (in pixel) of the region under consideration. If MBRL_min &lt;= MBRL &lt;= MBRL_max and MTC_min &lt;= MTC &lt;= MTC_max , the region is determined to be text. The parameter values of MBRL_min, MBRL_max, MTC_min and MTC_max in the present system are determined based on tests performed on of several document images.&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;The text regions extracted by the first pass are removed from the label image and the corresponding areas are filled with zeros, i.e. white.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;st1:place&gt;&lt;st1:placename&gt;&lt;b&gt;Second&lt;/b&gt;&lt;/st1:placename&gt;&lt;b&gt;  &lt;/b&gt;&lt;st1:placetype&gt;&lt;b&gt;Pass&lt;/b&gt;&lt;/st1:placetype&gt;&lt;/st1:place&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;The algorithm used in the second pass is similar to that used in the first pass, except for some changes in parameter settings. Specifically, the following procedure is applied to the label image output from the first pass.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;1. Apply selective-CRLA{1, 2} row by row to the label image using a constraint Chor-2.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;2. Apply selective-CRLA{1, 2} column by column to the label image using a constraint Cver-2.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;3. Combine the images yielded by steps 1 and 2 using a logical AND operation.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;4. Apply an additional selective- CRLA{1, 2} row by row to the image yielded by step 3 using a constraint Csm-2.&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;Again the value of the parameters Chor-2, Cver-2, and Csm-2 are chosen according to the analysis on documents (Please read Post: 2 to know detail about this).&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;To identify the text regions, the features and rules used in the first pass is employed again here, but with new values of MBRL_min, MBRL_max, MTC_min and MTC_max determined based on tests performed on of several document images.]&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-size:14;"&gt;&lt;span style="font-size:130%;"&gt;Discussion&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;The strength of the selective CRLA relies on the utilization of the global component information (i.e. the component size), which conducts the run-length smearing process more precisely than the original CRLA. In the first pass, the selective CRLA aims to extract body text, which usually has a smaller character size, and it can prevent erroneous linkage of text and non-text regions. In the second pass, the pixel labels and the parameter settings are relaxed to join the large headline characters and the text lines that have wide inter-character space.&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-size:13;"&gt;&lt;span style="font-size:130%;"&gt;Source:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Hung-Ming Sun, 2006, "Enhanced Constrained Run-Length Algorithm for Complex Layout Document Processing", International Journal of Applied Science and Engineering 2006.4, 3: 297-309&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-4701486066423631418?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/4701486066423631418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=4701486066423631418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/4701486066423631418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/4701486066423631418'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2007/07/enhanced-constrained-run-length.html' title='Enhanced Constrained Run-Length Algorithm'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-215478236611703492</id><published>2007-07-01T00:44:00.000-07:00</published><updated>2007-07-31T05:25:00.430-07:00</updated><title type='text'>Constrained Run-Length Algorithm (CRLA)</title><content type='html'>&lt;p class="MsoNormal" style="text-align: justify;"&gt;  &lt;/p&gt;&lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;  &lt;hr align="center" color="navy" noshade="noshade" size="4" width="100%"&gt;  &lt;/div&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;The Constrained Run-Length Algorithm (&lt;span style="font-weight: bold;"&gt;CRLA&lt;/span&gt;) is a well-known technique for page segmentation which is also known as the Run-Length Smoothing/Smearing Algorithm (&lt;span style="font-weight: bold;"&gt;RLSA&lt;/span&gt;). This is a very well known technique for segmenting a document image into homogeneous regions. The algorithm is very efficient for partitioning documents with &lt;st1:city&gt;&lt;st1:place&gt;Manhattan&lt;/st1:place&gt;&lt;/st1:city&gt; layouts (i.e. the text/graphics/halftone-image regions were separable by horizontal and vertical line segments, for example two-column text together with rectangle-alignment graphics and halftone images) but not suited to deal with complex layout pages, e.g. irregular graphics embedded in a text paragraph. Its main drawback is to use only local information during the smearing stage, which may lead to erroneous linkage of text and graphics.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;The previous two posts briefly describe the Constrained Run-Length Algorithm (&lt;span style="font-weight: bold;"&gt;CRLA&lt;/span&gt;) or Run Length Smoothing Algorithm (RLSA) and its related issue.&lt;/p&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Source&lt;/span&gt; : &lt;span style=";font-family:&amp;quot;;font-size:12;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style=";font-family:&amp;quot;;font-size:12;"  &gt;[1] Hung-Ming Sun, 2006, "Enhanced Constrained Run-Length Algorithm for Complex Layout Document Processing", International Journal of Applied Science and Engineering 2006.4, 3: 297-309&lt;/span&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-215478236611703492?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/215478236611703492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=215478236611703492' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/215478236611703492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/215478236611703492'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2007/07/constrained-run-length-algorithm-crla.html' title='Constrained Run-Length Algorithm (CRLA)'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-4019468654294761652</id><published>2007-06-27T01:10:00.000-07:00</published><updated>2007-07-31T05:26:30.244-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Page Layout Analysis'/><title type='text'>Determination of Run-Length Smoothing Values For Document Segmentation</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;  &lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;  &lt;hr align="center" color="navy" noshade="noshade" size="4" width="100%"&gt;  &lt;/div&gt;  Lets start with the review of the Run Length Smoothing Algorithm (RLSA) technique. Usually, the RLSA has three main stages. First, in the original image, RLSA is applied horizontally, row-by-row by using &lt;b&gt;hsv&lt;/b&gt; and then vertically, column-by-column with &lt;b&gt;vsv&lt;/b&gt;. After horizontal and vertical smoothing, we have two bit-maps, which are next combined by a logical AND operation to produce a new smoothing image. This image has small gaps that interrupt blocks of text lines. Therefore, an additional horizontal smoothing operation is performed by using a new suitable smoothing value &lt;b&gt;ahsv&lt;/b&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The smoothing values used for the Run-length based segmentation methods are widely varies depending on the document structure (both physical and logical layout) and text types in the document. More specifically they depend on character size and font that may also vary depending on whether a document is in a single font or multiple fonts etc. The smoothing methods use heuristic techniques to determine the values of the smoothing variables.   &lt;p class="MsoNormal" style="text-align: justify;"&gt;According to the work of Wong et al. (1982), the smoothing values of &lt;b&gt;hsv&lt;/b&gt; and &lt;b&gt;vsv &lt;/b&gt;depend on "the number of pixels covering the length of long words, whereas &lt;b&gt;ahsv&lt;/b&gt; should be set to cover a few character widths". We have found that almost all the papers where the RLSA technique is used and discussed, applied their own diagnostic value as the smoothing value. However, they do not propose an analytical method for the calculation of the smoothing values.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;Here in this post, an algorithm is described for automated calculation of the proper horizontal and vertical smoothing values. Specifically, the horizontal smoothing value (hsv) and the vertical smoothing value (vsv) are calculated according to the mean character length (mcl) and the mean text line distance (mtld) of the document. The values of mcl and mtld are determined using the contributions of the horizontal and vertical runlengths.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;The proposed method is based on pre-estimation of the mean character length and the mean text line distance of a document. To do this, a technique is developed that uses the horizontal and vertical distributions of white and black runs. They consider that a proper value for &lt;b&gt;hsv&lt;/b&gt; must be equal to twice the &lt;b&gt;mcl&lt;/b&gt;, while in the vertical direction, the proper value of &lt;b&gt;vsv&lt;/b&gt; must be taken equal to the &lt;b&gt;mtld&lt;/b&gt; of the document. That is&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;hsv = 2 mcl &lt;/span&gt;&lt;span style="font-size:130%;"&gt;      &lt;/span&gt;&lt;span style="font-size:130%;"&gt;( 1 )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;vsv = mtld &lt;/span&gt;&lt;span style="font-size:130%;"&gt;       &lt;/span&gt;&lt;span style="font-size:130%;"&gt;(2)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;To obtain the proper values of &lt;b&gt;mcl&lt;/b&gt; and &lt;b&gt;mtld&lt;/b&gt;, we examine not only the white runs but also the black runs in the vertical and horizontal directions. Specifically, initially we calculate three histograms. These histograms give the distributions of black runs in the horizontal and vertical directions and of white runs in the horizontal direction.&lt;span style=";font-family:TimesNewRomanPSMT;font-size:10;"  &gt;&lt;/span&gt;&lt;/p&gt;&lt;b&gt;&lt;span style=";font-family:Arial-BoldMT;font-size:7;"  &gt;&lt;/span&gt;&lt;/b&gt;  &lt;p class="MsoNormal"&gt;The global maximum of the histogram of horizontal black runs (&lt;b&gt;gmhbr&lt;/b&gt;) constructed mainly from part of the characters. Therefore, it gives information about the mean character length. We observe that the &lt;b&gt;mcl&lt;/b&gt; belongs to a region defined by multiply the &lt;b&gt;gmhbr&lt;/b&gt; by two suitable coefficients &lt;b&gt;m1&lt;/b&gt; and &lt;b&gt;m2&lt;/b&gt;. That is&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPS-BoldMT;"&gt;mcl&lt;/span&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt; Є&lt;/span&gt;&lt;span style="font-family:Arial-BoldMT;"&gt;  &lt;/span&gt;&lt;span style="font-family:TimesNewRomanPSMT;"&gt;&lt;span style=""&gt;[int (m1 * gmhbr), intU (m2 * gmhbr)] ---  &lt;/span&gt;(3)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=""&gt;where int(x) is the integer part of x, and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style="font-size:130%;"&gt;intu(x) &lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="font-size:130%;"&gt;= x, if x is integer / int(x) + 1, otherwise    ----- (4)&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style=""&gt;On the other hand, we know that the mean character height (&lt;b&gt;mch&lt;/b&gt;) is close enough to the &lt;b&gt;mcl&lt;/b&gt;. However, it is obvious that the &lt;b&gt;mch&lt;/b&gt; corresponds to a local or global maximum in the histogram of vertical black runs, and moreover, we accept that this maximum belongs to the region defined by (3).&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;/p&gt;Therefore, the proper values of coefficients m1 and m2 must be determined . To do this they examine a large number of documents. Some estimation are made after examining number of documents.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;We can accept that in a readable document the mtld is always greater than int(0.8mcl). This is the lower limit for mtld.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The upper limit of mtld can be large enough and it is taken equal to be 80. So, the mild is detennined as the position of the global histogram maximum in the range [int(0.8mc1),80]&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Source: &lt;/span&gt;&lt;span style=""&gt;N. Papamarkos, J. Tzortzakis and B. Gatos, "Determination of Run-Length smoothing values for document segmentation", Third IEEE Int. Conf. on &lt;/span&gt;Page(s): 684-687 vol.2&lt;br /&gt;&lt;span style="font-weight: bold;font-family:TimesNewRomanPSMT;font-size:10;"  &gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-4019468654294761652?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/4019468654294761652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=4019468654294761652' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/4019468654294761652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/4019468654294761652'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2007/06/determination-of-run-length-smoothing.html' title='Determination of Run-Length Smoothing Values For Document Segmentation'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8603384150533651201.post-1981659232687946929</id><published>2007-06-26T21:22:00.000-07:00</published><updated>2007-07-31T05:27:24.567-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Page Layout Analysis'/><title type='text'>Run Length Smoothing Algorithm (RLSA)</title><content type='html'>&lt;div style="text-align: justify;"&gt;  &lt;div class="MsoNormal" style="text-align: center;" align="center"&gt;  &lt;hr align="center" color="navy" noshade="noshade" size="4" width="100%"&gt;  &lt;/div&gt;  The Run Length Smoothing Algorithm (RLSA) is a method that can be used for Block segmentation and text discrimination. The method developed for the Document Analysis System consists of two steps. First, a segmentation procedure subdivides the area of a document into regions (blocks), each of which should contain only one type of data (text, graphic, halftone image, etc.). Next, some basic features of these blocks are calculated.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The basic RLSA is applied to a binary sequence in which white pixels are represented by 0’s and black pixels by 1’s. The algorithm transforms a binary sequence &lt;span style="font-weight: bold;"&gt;x&lt;/span&gt; into an output sequence &lt;span style="font-weight: bold;"&gt;y&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;according to the following rules:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;1. 0’s in x are changed to 1’s in y if the number of adjacent 0’s is less than or equal to a predefined limit C.&lt;br /&gt;2. 1’s in x are unchanged in y .&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;For example, with C = 4 the sequence &lt;span style="font-weight: bold;"&gt;x&lt;/span&gt; is mapped into &lt;span style="font-weight: bold;"&gt;y&lt;/span&gt; as follows:&lt;br /&gt;&lt;br /&gt;x : 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0&lt;br /&gt;y : 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;When applied to pattern arrays, the RLSA has the effect of linking together neighboring black areas that are separated by less than C pixels. With an appropriate choice of C, the linked areas will be regions of a common data type.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The RLSA is applied row-by-row as well as column-by-column to a document, yielding two distinct bit-maps. Because spacings of document components tend to differ horizontally and vertically, different values of C are used for row and column processing.  Thet wo bit-maps are then combined in a logical AND operation. Additional horizontal smoothing using the RLSA produces the final segmentation result.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JAoQEwT08KM/RoHt-Qelu9I/AAAAAAAACKk/ALlOTuCuO_E/s1600-h/RLSA_main.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_JAoQEwT08KM/RoHt-Qelu9I/AAAAAAAACKk/ALlOTuCuO_E/s320/RLSA_main.GIF" alt="" id="BLOGGER_PHOTO_ID_5080603508481571794" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Figure 1 : (a) Block segmentation example of a mixed text/image document, which here is the original digitized document. (b) and (c) Results of applying the RLSA in the horizontal and vertical directions. (d) Final result of block segmentation. (e) Results for blocks considered to be text data (class 1).&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The blocks shown in Fig. 1(d) must next be located and classified according to content. To provide identification for subsequent processing, a unique label is assigned to each block. Simultaneously with block labeling, the following measurements are taken:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Total number of black pixels in a segmented block (BC).&lt;/li&gt;&lt;li&gt;Minimum x-y coordinates of a block and its x, y lengths (Xmin, Ymin, delX, delY). &lt;/li&gt;&lt;li&gt;Total number of black pixels in original data from the block (DC).&lt;/li&gt;&lt;li&gt;Horizontal white-black transitions of original data (TC).&lt;/li&gt;&lt;/ul&gt;These measurements are stored in a table and are used to calculate the following features:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The height of each block segment: H = delY.&lt;/li&gt;&lt;li&gt;The eccentricityo f the rectangle surrounding theb lock: E = delX/delY.&lt;/li&gt;&lt;li&gt;The ratio of the number of block pixels to the area of the surrounding rectangle: S=BC/(delX * delY). If S is close to one, the block segment is approximately rectangular.&lt;/li&gt;&lt;li&gt;The mean horizontal length of the black runs of the original data from each block: Rm=DC/TC.&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: justify;"&gt;The mean value of block height Hm, and the block mean black pixel run length Rm, for the text cluster may vary for different types of documents, depending on character size and font. Furthermore, the text cluster’s standard deviations sigma(Hm) and sigma(Rm) may also vary depending on whether a document is in a single font or multiple fonts and character sizes. To permit self-adjustment of the decision boundaries for text discrimination, estimates are calculate for the mean values Hm and Rm of blocks from a tightly defined text region of the R-H plane. Additional heuristic rules are applied to confirm that each such block is likely to be text before it is included in the cluster. The members of the cluster are then used to estimate new bounds on the features to detect additional text blocks. Finally, a variable, linear, separable classification scheme assigns the following four classes to the blocks:&lt;br /&gt;&lt;br /&gt;Class 1 Text:&lt;br /&gt;R &lt;&gt; C_21 Rm and&lt;br /&gt;H &lt;&gt; I/C_23 and&lt;br /&gt;H &gt; C_22 Hm.&lt;br /&gt;&lt;br /&gt;Class 4 Vertical solid black lines:&lt;br /&gt;E &lt;&gt; C_22 Hm.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Values have been assigned to the parameters based on several training documents. With C_21=3, C_22=3, and C_23=5, the outlined method has been tested on a number of test documents with satisfactory performance.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;There are certain limitations to the block segmentation and text discrimination method described so far. On some documents, text lines are linked together by the block segmentation algorithm due to small line-to-line spacing, and thus are assigned to class 3. A line of characters exceeding 3 times H, (with C_22=3), such as a title or heading in a document, is assigned to class 3. An isolated line of text printed vertically, e.g., a text description of a diagram along the vertical axis, may be classified as a number of small text blocks, or else as a class 3 block.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Consequently, in order to further classify different data types within class 3, a second discrimination based on shape factors is used. The method uses measurements of border-to-border distance within an arbitrary pattern. These measurements can be used to calculate meaningful features like the “line-shapeness” or “compactness” of objects within binary images.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Source: &lt;/span&gt;&lt;br /&gt;K.Y. Wong, R.G. Casey and F.M. Wahl, "Docuinent analysis system," IBM J. Res. Devel., Vol. 26, NO. 6,111). 647-656, 1982.&lt;br /&gt;&lt;br /&gt;Additional Reading:&lt;br /&gt;[1]  F. M. Wahl, K. Y. Wong, and R. G. Casey, “Block Segmentation and Text Extraction in Mixed Text/Image Documents,” Research Report RJ 3356, IBM Research Laboratory, SanJose, CA, 1981.&lt;br /&gt;&lt;br /&gt;[2] F. M. Wahl, “A New Distance Mapping and its Use for Shape Measurement on Binary Patterns,” Research Report RJ 3361, IBM Research Laboratory, San Jose, CA, 1982.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603384150533651201-1981659232687946929?l=crblpocr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crblpocr.blogspot.com/feeds/1981659232687946929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8603384150533651201&amp;postID=1981659232687946929' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/1981659232687946929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8603384150533651201/posts/default/1981659232687946929'/><link rel='alternate' type='text/html' href='http://crblpocr.blogspot.com/2007/06/run-length-smoothing-algorithm-rlsa.html' title='Run Length Smoothing Algorithm (RLSA)'/><author><name>Md. Abul Hasnat</name><uri>http://www.blogger.com/profile/13532591316616956645</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_JAoQEwT08KM/SJEwFFTXFqI/AAAAAAAADNQ/YhIkIgWEP1A/S220/pro-pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_JAoQEwT08KM/RoHt-Qelu9I/AAAAAAAACKk/ALlOTuCuO_E/s72-c/RLSA_main.GIF' height='72' width='72'/><thr:total>2</thr:total></entry></feed>
