<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">

<channel>
	<title>muellis blog &#187; ocr</title>
	<atom:link href="http://blogs.gnome.org/muelli/tag/ocr/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/muelli</link>
	<description>…und alle so “Yeaahh!”</description>
	<lastBuildDate>Sun, 22 Jan 2012 16:00:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>		<item>
		<title>OCRing a scanned book</title>
		<link>http://blogs.gnome.org/muelli/2011/02/ocring-a-scanned-book/</link>
		<comments>http://blogs.gnome.org/muelli/2011/02/ocring-a-scanned-book/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 14:33:57 +0000</pubDate>
		<dc:creator>muelli</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[lang:en]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[ocr]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[scan]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/muelli/?p=1467</guid>
		<description><![CDATA[I had the pleasure to use a &#8220;Bookeye&#8221; book scanner. It&#8217;s a huge device which helps scanning things like books or folders. It&#8217;s very quick and very easy to use. I got a huge PDF out of my good 100 pages that I&#8217;ve scanned. Unfortunately the light was very bright and so the scanner scanned [...]]]></description>
			<content:encoded><![CDATA[<p>I had the pleasure to use <a href="http://www.imageware.de/en/systems/book-scanner/Bookeye2WalkUpScanStation/">a &#8220;Bookeye&#8221; book scanner</a>. It&#8217;s a huge device which helps scanning things like books or folders. It&#8217;s very quick and very easy to use. I got a huge PDF out of my good 100 pages that I&#8217;ve scanned.</p>
<p>Unfortunately the light was very bright and so the scanner scanned &#8220;through&#8221; the open pages revealing the back sides of the pages. That&#8217;s not very cool and I couldn&#8217;t really dim the light or put a sheet between the Pages.<br />
Also, it doesn&#8217;t do OCR but my main point of digitalising this book was to actually have it searchable and copy&amp;pastable.</p>
<p>There seem to be multiple options to do OCR on images:</p>
<h3>tesseract</h3>
<p><a href="http://blogs.gnome.org/muelli/2009/09/engrish/">covered already</a></p>
<h3><a href="http://code.google.com/p/ocropus/">ocropus</a></h3>
<p>Apparently this is supposed to be tesseract on steroids as it can recognise text on paper and different layouts and everything.<br />
Since it&#8217;s a bit painful to compile, I&#8217;d love to share my experiences hoping that it will become useful to somebody.</p>
<p>During compilation of ocropus, you might run into issues like <a href="http://code.google.com/p/ocropus/issues/detail?id=285">this</a> or <a href="http://code.google.com/p/ocropus/issues/detail?id=284">that</a>, so be prepared to patch the code.</p>
<p><code><br />
cd /tmp/<br />
svn checkout http://iulib.googlecode.com/svn/trunk/ iulib<br />
cd iulib/<br />
./configure --prefix=/tmp/libiu-install<br />
make &amp;&amp; make install<br />
</code></p>
<p><code><br />
cd /tmp/<br />
wget http://www.leptonica.com/source/leptonlib-1.67.tar.gz -O- | tar xvzf -<br />
cd leptonlib*/<br />
./configure --prefix=/tmp/leptonica<br />
make &amp;&amp; make install<br />
</code></p>
<p><code><br />
cd /tmp/<br />
svn checkout http://ocropus.googlecode.com/svn/trunk/ ocropus<br />
# This is due to this bug: http://code.google.com/p/ocropus/issues/detail?id=283<br />
cat &gt; ~/bin/leptheaders &lt;<br />
#!/bin/sh<br />
echo /tmp/leptonica/include/leptonica/<br />
EOF<br />
chmod a+x ~/bin/leptheaders<br />
./configure --prefix=/tmp/ocropus-install --with-iulib=/tmp/libiu-install/<br />
make &amp;&amp; make install<br />
</code></p>
<pre>muelli@bigbox /tmp $ LD_LIBRARY_PATH=/tmp/ocropus-install/lib/:/tmp/leptonica/lib/ ./ocropus-install/bin/ocroscript --help
usage: ./ocropus-install/bin/ocroscript [options] [script [args]].
Available options are:
  -e stat  execute string 'stat'
  -l name  require library 'name'
  -i       enter interactive mode after executing 'script'
  -v       show version information
  --       stop handling options
  -        execute stdin and stop handling options
muelli@bigbox /tmp $
</pre>
<p>However, I can&#8217;t do anything because I <a href="http://code.google.com/p/ocropus/issues/detail?id=288">can&#8217;t make LUA load the scripts from the share/ directory of the prefix</a>. Too sad. It looked very promising.</p>
<h3><a href="http://www.cuneiform.ru/eng/index.html">Cuneiform</a></h3>
<p>This is an interesting thing. It&#8217;s a BSD licensed russian OCR software that was once one the leading tools to do OCR.<br />
Interestingly, it&#8217;s the most straight forward thing to install, compared to the other things listed here.<br />
<code><br />
bzr branch lp:cuneiform-linux<br />
cd cuneiform-linux/<br />
mkdir build<br />
cd build/<br />
cmake .. -DCMAKE_INSTALL_PREFIX=/tmp/cuneiform<br />
make<br />
make install<br />
</code></p>
<p>This is supposed to produce some sort of HTML which we can glue to a PDF with the following tool.</p>
<h3><a href="http://www.exactcode.de/site/open_source/exactimage/hocr2pdf/">hocr2pdf</a></h3>
<p>Apparently takes &#8220;HTML annotated OCR data&#8221; and bundles that, together with the image, to a PDF.</p>
<p><code><br />
cd /tmp/<br />
svn co http://svn.exactcode.de/exact-image/trunk ei<br />
cd ei/<br />
./configure --prefix=/tmp/exactimage<br />
make &amp;&amp; make install<br />
</code></p>
<p>That, however, failed for me like this:</p>
<pre>  LINK EXEC objdir/frontends/optimize2bw
/usr/bin/ld: objdir/codecs/lib.a: undefined reference to symbol 'QuantizeBuffer'
/usr/bin/ld: note: 'QuantizeBuffer' is defined in DSO /usr/lib64/libgif.so.4 so try adding it to the linker command line
/usr/lib64/libgif.so.4: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make: *** [objdir/frontends/optimize2bw] Error 1
</pre>
<p>Adding &#8220;<code>LDFLAGS += -lgif</code>&#8221; to the Makefile fixes that. I couldn&#8217;t find a bug tracker, hence I reported this issue via email but haven&#8217;t heard back yet.</p>
<p>Although the hOCR format seems to be the only option to actually know where in the file the text appears, no OCR program, except cuneiform and <a href="http://code.google.com/p/tesseract-ocr/issues/detail?id=263">tesseract with a patch</a>, seems to support it <img src='http://blogs.gnome.org/muelli/wp-content/mu-plugins/tango-smilies/tango/face-sad.png' alt=':-(' class='wp-smiley' /> </p>
<h3><a href="http://gscan2pdf.sourceforge.net/">gscan2pdf</a></h3>
<p>as a full suite it can import pictures or PDFs and use a OCR program mentioned above (tesseract or gocr). The whole thing can then be saved as a PDF again.<br />
Results with gocr are not so good. I can&#8217;t really copy and paste stuff. Searching does kinda work though.</p>
<p>Using Tesseract, however, doesn&#8217;t work quite well:</p>
<pre> Tesseract Open Source OCR Engine
tesseract: unicharset.cpp:76: const UNICHAR_ID UNICHARSET::unichar_to_id(const char*, int) const: Assertion `ids.contains(unichar_repr, length)' failed.
sh: line 1:  6187 Aborted                 (core dumped) tesseract /tmp/4jZN0oNbB1/dLNBLkcjph.tif /tmp/4jZN0oNbB1/_4BdZMfGXJ -l fra
*** unhandled exception in callback:
***   Error: cannot open /tmp/4jZN0oNbB1/_4BdZMfGXJ.txt
***  ignoring at /usr/bin/gscan2pdf line 12513.
Tesseract Open Source OCR Engine
tesseract: unicharset.cpp:76: const UNICHAR_ID UNICHARSET::unichar_to_id(const char*, int) const: Assertion `ids.contains(unichar_repr, length)' failed.
sh: line 1:  6193 Aborted                 (core dumped) tesseract /tmp/4jZN0oNbB1/ELMbnDkaEI.tif /tmp/4jZN0oNbB1/C47fuqxX3S -l fra
*** unhandled exception in callback:
***   Error: cannot open /tmp/4jZN0oNbB1/C47fuqxX3S.txt
***  ignoring at /usr/bin/gscan2pdf line 12513.
</pre>
<p>It doesn&#8217;t seems to be able to work with cuneiform <img src='http://blogs.gnome.org/muelli/wp-content/mu-plugins/tango-smilies/tango/face-sad.png' alt=':-(' class='wp-smiley' /> </p>
<h3><a href="http://www.archivista.ch/de/pages/downloads.php">Archivista Box</a></h3>
<p>This is actually an appliance and you can download an ISO image.<br />
Running it is straight forward:<br />
<code><br />
cd /tmp/<br />
wget  'http://downloads.sourceforge.net/project/archivista/archivista/ArchivistaBox_2010_IV/archivista_20101218.iso?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Farchivista%2F&amp;ts=1295436241&amp;use_mirror=ovh'<br />
qemu -cdrom /tmp/archivista_20101218.iso -m 786M -usb<br />
</code></p>
<p>Funnily enough, the image won&#8217;t boot with more than 786MB of RAM. Quite weird, but qemu just reports the CPU to be halted after a while. If it does work, it boots up a firefox with a nice WebUI which seems to be quite functional. However, I can&#8217;t upload my &gt;100MB PDF probably because it&#8217;s a web based thing and either the server rejects big uploads or the CGI just times out or a mixture of both.</p>
<p>Trying to root this thing is more complex than usual. Apparently you can&#8217;t give &#8220;<code>init=/bin/sh</code>&#8221; as a boot parameter as it wouldn&#8217;t make a difference. So I tried to have a look at the ISO image. There is <code>fuseiso</code> to mount ISO images in userspace. Unfortunately, <a href="http://cdemu.sourceforge.net/pkg_daemon.php">CDEmu</a> doesn&#8217;t seem to be packaged for Fedora. Not surprisingly, there was a SquashFS on that ISO9660 filesystem. Unfortunately, I didn&#8217;t find any SquashFS FUSE implementation <img src='http://blogs.gnome.org/muelli/wp-content/mu-plugins/tango-smilies/tango/face-sad.png' alt=':-(' class='wp-smiley' />  But even with elevated privileges, I <a href="http://linux.derkeiler.com/Mailing-Lists/Kernel/2009-01/msg05708.html">can&#8217;t mount that thing</a> *sigh*:</p>
<pre>$ file ~/empty/live.squash
/home/muelli/empty/live.squash: Squashfs filesystem, little endian, version 3.0, 685979128 bytes, 98267 inodes, blocksize: 65536 bytes, created: Sat Dec 18 06:54:54 2010
$ sudo mount ~/empty/live.squash /tmp/empty/
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
$ dmesg | tail -n 2
[342853.796364] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[342853.796726] SQUASHFS error: Major/Minor mismatch, older Squashfs 3.0 filesystems are unsupported
</pre>
<p>But <code>unsquashfs</code> helped to extract the whole thing onto my disk. They used &#8220;T2&#8243; to bundle everything to a CD and packaged software mentioned above. Unfortunately, very old versions were used, i.e. cuneiform is in version 0.4.0 as opposed to 1.0.0. Hence, I don&#8217;t really consider it to be very useful to poke around that thing.</p>
<p>It&#8217;s a huge thing worth exploring though. It all seems to come from this SVN repository: <code>svn://svn.archivista.ch/home/data/archivista/svn</code>.</p>
<h3><a href="http://www.watchocr.com">WatchOCR</a></h3>
<p>For some reason, they built an ISO image as well. Probably to run an appliance.<br />
<code><br />
cd /tmp/<br />
wget http://www.watchocr.com/files/watchocr-V0.6-2010-12-10-en.iso<br />
qemu -cdrom /tmp/watchocr-V0.6-2010-12-10-en.iso -m 1G<br />
</code></p>
<p>The image booted up a webbrowser which showed a webinterface to the WebOCR functionality.<br />
I extraced the necessary scripts which wraps tools like cuniform, ghostscript and friends. Compared to the archivista box, the scripts here are rather simple.  Please find <a href="https://muelli.cryptobitch.de/tmp/watchocr">webocr</a> and <a href="https://muelli.cryptobitch.de/tmp/img2pdf">img2pdf</a>.  They also use an old cuneiform 0.8.0 which is older than the version from Launchpad.</p>
<p>However, in my QEMU instance, the watchocr box took a very long time to process my good 100 pages PDF.</p>
<p><a href="http://blogs.gnome.org/muelli/files/2011/01/watchocr.png"><img class="aligncenter size-full wp-image-1468" title="watchocr" src="http://blogs.gnome.org/muelli/files/2011/01/watchocr.png" alt="" width="800" height="600" /></a></p>
<h3><a href="http://blog.konradvoelkel.de/2010/01/linux-ocr-and-pdf-problem-solved/">Some custom script</a></h3>
<p>That tries to do the job did in fact quite well, although it&#8217;s quite slow as well. It lacks proper support for spawning multiple commands in parallel.</p>
<p>After you have installed the dependencies like mentioned above, you can run it:<br />
<code><br />
wget http://www.konradvoelkel.de/download/pdfocr.sh<br />
PATH="/tmp/exactimage/bin/:/tmp/cuneiform/bin/:$PATH" LD_LIBRARY_PATH=/tmp/cuneiform/lib64/ sh -x pdfocr.sh buch-test-1.pdf 0 0 0 0 2500 2000 fra SomeAuthor SomeTitle<br />
</code></p>
<p>The script, however, doesn&#8217;t really work for me, probably because of some quoting issues:</p>
<pre>+ pdfjoin --fitpaper --tidy --outfile ../buch-test-1.pdf.ocr1.pdf 'pg_*.png.pdf'
          ----
  pdfjam: This is pdfjam version 2.08.
  pdfjam: Reading any site-wide or user-specific defaults...
          (none found)
  pdfjam ERROR: pg_*.png.pdf not found
</pre>
<p>Having overcome that problem, the following <code>pdfjoin</code> doesn&#8217;t work for an unknown reason. After having replaced <code>pdfjoin</code> manually, I realised, that the script sampled the pages down, made them monochrome and rotated them! Hence, no OCR was possible and the final PDF was totally unusable *sigh*.</p>
<p>It&#8217;s a mess.</p>
<h3>To conclude&#8230;</h3>
<p>I still don&#8217;t have a properly OCRd version of my scanned book, because of not very well integrated tools. I believe that programs like pdftk, imagemagick, unpaper, cuneiform, hocr2pdf, pdfjam do their job very well. But it appears that they are not very well knit together to form a useful tools to OCR a given PDF. Requirements would be, for example, that there is no loss of quality of the scanned images, that the number of programs to be called is reduced to a minimum and that everything needs to be able to do batch processing. So far, I couldn&#8217;t find anything that fulfills that requirements. If you know anything or have a few moments to bundle the necessary tools together, please tell me <img src='http://blogs.gnome.org/muelli/wp-content/mu-plugins/tango-smilies/tango/face-surprise.png' alt=':o' class='wp-smiley' /> ) The necessary pieces are all there, as far as I can see. It just needs someone to integrate everything nicely.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/muelli/2011/02/ocring-a-scanned-book/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Engrish</title>
		<link>http://blogs.gnome.org/muelli/2009/09/engrish/</link>
		<comments>http://blogs.gnome.org/muelli/2009/09/engrish/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 17:57:46 +0000</pubDate>
		<dc:creator>muelli</dc:creator>
				<category><![CDATA[lang:en]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[engrish]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[haha]]></category>
		<category><![CDATA[ocr]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/muelli/?p=718</guid>
		<description><![CDATA[Alright, the following stuff is probably only funny, if you know German and Germans a bit. At least I had to laugh a couple of times, so you might enjoy that as well I received a PDF with some weird English translations of German idioms and I tried to extract the text information from that, [...]]]></description>
			<content:encoded><![CDATA[<p>Alright, the following stuff is probably only funny, if you know German and Germans a bit. At least I had to laugh a couple of times, so you might enjoy that as well <img src='http://blogs.gnome.org/muelli/wp-content/mu-plugins/tango-smilies/tango/face-smile.png' alt=':)' class='wp-smiley' /> </p>
<p>I received a PDF with some weird English translations of German idioms and I tried to extract the text information from that, so I stumbled upon a page explaining <a href="http://www.innoq.com/blog/wvk/2008/10/dokumentenarchivierung_und_ocr.html">how to do OCR with free software on Linux</a>. I got the best results using <a href="http://code.google.com/p/tesseract-ocr/">Tesseract</a> with the German language set, but I had to refine the result (leaving some typos intact).</p>
<ul>
<li>that&#8217;s me sausage = ist mir wurst</li>
<li>go where the pepper grows = geh hin wo der pfeffer wächst</li>
<li>I think my pig whizzles = ich glaub mein schwein pfeift</li>
<li>sorry, my english is under all pig = entschuldige, mein englisch ist unter aller sau</li>
<li>now can come what want&#8230;i ready = letzt kann kommen was will, ich bin fertig</li>
<li>I think I spider = ich glaub ich spinne</li>
<li>the devil will i do = den teufel werd ich tun</li>
<li>what too much is, is too much = was zu viel ist, ist zu viel</li>
<li>my lovely mister singing club = mein lieber herr gesangsverein</li>
<li>don&#8217;t walk me on the nerves = geh mir nicht auf die nerven</li>
<li>come on&#8230;jump over your shadow = komm schon&#8230;spring ueber deinen schatten</li>
<li>you walk me animally on the cookie = du gehts mir tierisch auf den keks</li>
<li>there my hairs stand up to the mountain = da stehen mir die haare zu berge</li>
<li>tell me nothing from the horse = erzaehl mir keinen vom pferd</li>
<li>don&#8217;t ask after sunshine = trag nicht nach sonnenschein</li>
<li>free like the motto: you me too = frei nach dem Motto, du mich auch</li>
<li>I have the nose full = ich hab die nase voll</li>
<li>lt&#8217;s not good cherry-eating with you = es ist nicht gut kirschen essen mit dir</li>
<li>it’s going up like smiths cat = es geht ab wie Schmidts katze</li>
<li>to thunderweather once more = zum Donnerwetter noch mal</li>
<li>not from bad parents = nicht von schlechten eltern</li>
<li>now it goes around the sausage = jetzt geht&#8217;s um die wurst</li>
<li>there you on the woodway = da bist du auf dem holzweg</li>
<li>good thing needs while = gut ding braucht weile</li>
<li>holla the woodfairy = holla die waldfee</li>
<li>we are sitting all in the same boot = wir sitzen alle im selben boot</li>
<li>don&#8217;t make you a head = mach dlr keinen kopf</li>
<li>there run me the water in the mouth together = da läuft rnlr das wasser im mund zusammen</li>
<li>I understand just train-station = ich versteh nur bahnhof</li>
<li>I hold it in head not out = ich halt&#8217;s im kopf nicht aus</li>
<li>shame you what = scham dich was</li>
<li>there we have the salad = da haben wir den salat</li>
<li>end good, everything good = ende gut, alles gut</li>
<li>zip you together = reiß dich zusammen</li>
<li>now butter by the fishes = jetzt mal butter bei die flsche</li>
<li>he made himself me nothing you nothing out of the dust — er machte sich mir nichts, dir nichts aus dem Staub</li>
<li>I belive you have the ass open — ich glaub du hast den Arsch auf!</li>
<li>you make me nothing for = du machst mir nichts vor</li>
<li>that makes me so fast nobody after = das macht mir so schnell keiner nach</li>
<li>I see black for you = ich seh schwarz fur dich</li>
<li>so a pig-weather = so ein Sauwetter</li>
<li>you are really the latest = du bist wirklich das letzte</li>
<li>your are so a fear-rabbit = du bist so ein angsthase</li>
<li>everybody dance after your nose = alle tanzen nach deiner nase</li>
<li>known home luck alone = trautes Heim, Glueck allein</li>
<li>I think I hear not right = Ich denk Ich hör nicht richtig</li>
<li>that have you your so thought = das hast du dir so gedacht</li>
<li>give not so on = gib nicht so an</li>
<li>heaven, ass and thread! = Himmel, Arsch und Zwirn&#8217;</li>
<li>of again see = auf wiedersehen</li>
<li>Human Meier = Mensch Meier</li>
<li>now we sit quite beautiful in the ink = jetzt sitzen wir ganz schoen in der Tinte</li>
<li>you have not more all cups in the board = du hast nicht mehr alle Tassen im Schrank</li>
<li>around heavens will = um Himmels willen</li>
<li>you are heavy in order = du bist schwer in Ordnung</li>
<li>l wish you what = ich wünsch dir was</li>
<li>she had a circleroundbreakdown = sie hatte einen kreislaufzusammenbruch</li>
<li>you are a blackdriver = du bist ein schwarzfahrer</li>
<li>I know me here out = ich kenn mich hier aus</li>
<li>l fell from all clouds = Ich fiel aus allen Wolken</li>
<li>that I not laugh = das ich nicht lache</li>
<li>no one can reach me the water = niemand kann mir das wasser relchen</li>
<li>that&#8217;s absolut afterfullpullable = das ist absolut nachvollziehbar</li>
<li>give good eight = gib gut acht</li>
<li>not the yellow of the egg = nicht das gelbe vom Ei</li>
<li>come good home = komm gut heim</li>
<li>evererything in the green area = alles im gruenen bererch</li>
<li>I die for Blackforrestcherrycake = Ich sterbe fuer Schwarzwalderkirschtorte</li>
<li>how too always = wie auch immer</li>
<li>I make you ready! = Ich mach dlch fertig!</li>
<li>I laugh me death = ich lach mich tot</li>
<li>it walks me icecold the back down = es lauft mir eiskalt den rücken runter</li>
<li>always with the silence = Immer mit der Ruhe</li>
<li>that&#8217;s one-wall-free = das Ist einwandfrei</li>
<li>I&#8217;m foxdevilswild = lch bin fuchsteufelswild</li>
<li>here goes the mail off = hier geht die post ab</li>
<li>me goes a light on = mir geht ein licht auf</li>
<li>it‘s highest railway = es ist hoechste Eisenbahn</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/muelli/2009/09/engrish/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  blogs.gnome.org/muelli/tag/ocr/feed/ ) in 0.31390 seconds, on Feb 10th, 2012 at 5:52 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 10th, 2012 at 6:52 am UTC -->
