Hi Antonio! Thank you very much for your comments. I knew that there are minor things, which we cannot see from our side. I am happy that test case has shown the problematic places.
On 13.07.2010 21:21, Antonio Diaz Diaz wrote: > As soon as you want. If the rc1 is ok for you, I can release 0.20 > tomorrow. >From my side it would be nice if you accept into mainstream a small fix for "clean" target in Makefile (should remove ocrcheck, as Debian builder complains on that binary if it not removed). I send the complete Debian package (see Makefile.in.patch inside). Unfortunately, I cannot push the package to Debain repository, as I am not Debian Developer. If somebody can help me to sign my PGP key, I can look for a sponsor. On 11.07.2010 14:27, Antonio Diaz Diaz wrote: > Hello Dmitry, > > Dmitry Katsubo wrote: >> I expect that "N" in test cases 1 and 2 is recognized not worse then via >> API. Also API recognizes "r" and "t", which may trigger false positives. > > Recognition via Blob is giving "better" results because you are > cheating, twice. :-) > > First, Blob is supposed to represent a "blob of ink", that is, black > pixels must be contiguous and must touch the four sides. By adding a > white frame you have "enlarged" the Blob, but this can break the code. > > Second, you have again "enlarged" the blob in line 107 by using "width, > height" instead of "right, bottom". the correct code is: > Blob* b = new Blob(0, 0, width-1, height-1); > > After correcting those two errors (see attached file), Blob and API > results are the same. "N"s aren't recognized because they are too small > (<10 pixels high), and short, thick slashes are often recognized as "r" > or "t". > > To solve the problem with the small "N"s, I have just released > ocrad-0.20-rc1 which reduces the height limit for "N" to 9 and includes > the function "OCRAD_scale". See an example of use in line 152 of the > corrected test case attached. > http://download.savannah.gnu.org/releases-noredirect/ocrad/ocrad-0.20-rc1.tar.gz > > http://download.savannah.gnu.org/releases-noredirect/ocrad/ocrad-0.20-rc1.tar.lz > >> When I change to OCRAD_greymap, I get the following result: > > This is because in OCRAD_bitmap 0 is white, while in OCRAD_greymap 0 is > black. You need to invert the values (see attached file) or pass invert > = true to OCRAD_set_image. For a description of map values see ocradlib.h: > The format for each pixel depends on mode like this: > OCRAD_bitmap --> 1 byte per pixel; 0 = white, 1 = black > OCRAD_greymap --> 1 byte per pixel; 256 level greymap (0 = black) > OCRAD_colormap --> 3 bytes per pixel; 16777216 colors RGB (0,0,0 = > black) > > > Best regards, > Antonio. -- With best regards, Dmitry
dpkg-buildpackage -rfakeroot -D -us -uc -sa dpkg-buildpackage: warning: using a gain-root-command while being root dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2 dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): dpkg-buildpackage: source package ocrad dpkg-buildpackage: source version 0.20-1 dpkg-buildpackage: source changed by Dmitry Katsubo <dm...@mail.ru> dpkg-buildpackage: host architecture i386 fakeroot debian/rules clean dh clean dh_testdir dh_auto_clean make[1]: Entering directory `/root/packages/ocrad-0.20' rm -f ocrad ocrad_profiled arg_parser.o main.o common.o mask.o rational.o rectangle.o track.o ucs.o page_image.o page_image_io.o bitmap.o blob.o profile.o feats.o feats_test0.o feats_test1.o character.o character_r11.o character_r12.o character_r13.o textline.o textline_r2.o textblock.o textpage.o rm -f ocrcheck ocrcheck.o ocradlib.o *.a rm -f Makefile config.status *.tar *.tar.lz make[1]: Leaving directory `/root/packages/ocrad-0.20' dh_clean dpkg-source -b ocrad-0.20 dpkg-source: info: using source format `3.0 (quilt)' dpkg-source: info: building ocrad using existing ./ocrad_0.20.orig.tar.gz dpkg-source: info: building ocrad in ocrad_0.20-1.debian.tar.gz dpkg-source: info: building ocrad in ocrad_0.20-1.dsc debian/rules build dh build dh_testdir debian/rules override_dh_auto_configure make[1]: Entering directory `/root/packages/ocrad-0.20' dh_auto_configure -- --libdir='${prefix}/lib' creating config.status creating Makefile VPATH = . prefix = /usr exec_prefix = $(prefix) bindir = $(exec_prefix)/bin datadir = $(prefix)/share includedir = ${prefix}/include infodir = ${prefix}/share/info libdir = ${prefix}/lib mandir = ${prefix}/share/man sysconfdir = /etc CXX = g++ CPPFLAGS = CXXFLAGS = -Wall -W -O2 LDFLAGS = OK. Now you can run make. make[1]: Leaving directory `/root/packages/ocrad-0.20' dh_auto_build make[1]: Entering directory `/root/packages/ocrad-0.20' g++ -Wall -W -O2 -c -o common.o common.cc g++ -Wall -W -O2 -c -o mask.o mask.cc g++ -Wall -W -O2 -c -o rational.o rational.cc g++ -Wall -W -O2 -c -o rectangle.o rectangle.cc g++ -Wall -W -O2 -c -o track.o track.cc g++ -Wall -W -O2 -c -o ucs.o ucs.cc g++ -Wall -W -O2 -c -o page_image.o page_image.cc g++ -Wall -W -O2 -c -o page_image_io.o page_image_io.cc g++ -Wall -W -O2 -c -o bitmap.o bitmap.cc g++ -Wall -W -O2 -c -o blob.o blob.cc g++ -Wall -W -O2 -c -o profile.o profile.cc g++ -Wall -W -O2 -c -o feats.o feats.cc g++ -Wall -W -O2 -c -o feats_test0.o feats_test0.cc g++ -Wall -W -O2 -c -o feats_test1.o feats_test1.cc g++ -Wall -W -O2 -c -o character.o character.cc g++ -Wall -W -O2 -c -o character_r11.o character_r11.cc g++ -Wall -W -O2 -c -o character_r12.o character_r12.cc g++ -Wall -W -O2 -c -o character_r13.o character_r13.cc g++ -Wall -W -O2 -c -o textline.o textline.cc g++ -Wall -W -O2 -c -o textline_r2.o textline_r2.cc g++ -Wall -W -O2 -c -o textblock.o textblock.cc g++ -Wall -W -O2 -c -o textpage.o textpage.cc g++ -Wall -W -O2 -c -o arg_parser.o arg_parser.cc g++ -Wall -W -O2 -DPROGVERSION=\"0.20-rc1\" -c -o main.o main.cc g++ -o ocrad common.o mask.o rational.o rectangle.o track.o ucs.o page_image.o page_image_io.o bitmap.o blob.o profile.o feats.o feats_test0.o feats_test1.o character.o character_r11.o character_r12.o character_r13.o textline.o textline_r2.o textblock.o textpage.o arg_parser.o main.o g++ -Wall -W -O2 -c -o ocradlib.o ocradlib.cc ar -rcs libocrad.a common.o mask.o rational.o rectangle.o track.o ucs.o page_image.o page_image_io.o bitmap.o blob.o profile.o feats.o feats_test0.o feats_test1.o character.o character_r11.o character_r12.o character_r13.o textline.o textline_r2.o textblock.o textpage.o ocradlib.o make[1]: Leaving directory `/root/packages/ocrad-0.20' dh_auto_test make[1]: Entering directory `/root/packages/ocrad-0.20' g++ -Wall -W -O2 -DPROGVERSION=\"0.20-rc1\" -c -o ocrcheck.o ocrcheck.cc g++ -o ocrcheck ocrcheck.o libocrad.a testing ocrad........................................................................................................................................ tests completed successfully. make[1]: Leaving directory `/root/packages/ocrad-0.20' fakeroot debian/rules binary dh binary dh_testroot dh_prep dh_installdirs dh_auto_install make[1]: Entering directory `/root/packages/ocrad-0.20' if [ ! -d "/root/packages/ocrad-0.20/debian/tmp/usr/share/info" ] ; then install -d -m 755 "/root/packages/ocrad-0.20/debian/tmp/usr/share/info" ; fi install -p -m 644 ./doc/ocrad.info "/root/packages/ocrad-0.20/debian/tmp/usr/share/info/ocrad.info" install-info --info-dir="/root/packages/ocrad-0.20/debian/tmp/usr/share/info" "/root/packages/ocrad-0.20/debian/tmp/usr/share/info/ocrad.info" This is not dpkg install-info anymore, but GNU install-info See the man page for ginstall-info for command line arguments if [ ! -d "/root/packages/ocrad-0.20/debian/tmp/usr/share/man/man1" ] ; then install -d -m 755 "/root/packages/ocrad-0.20/debian/tmp/usr/share/man/man1" ; fi install -p -m 644 ./doc/ocrad.1 "/root/packages/ocrad-0.20/debian/tmp/usr/share/man/man1/ocrad.1" if [ ! -d "/root/packages/ocrad-0.20/debian/tmp/usr/bin" ] ; then install -d -m 755 "/root/packages/ocrad-0.20/debian/tmp/usr/bin" ; fi install -p -m 755 ./ocrad "/root/packages/ocrad-0.20/debian/tmp/usr/bin/ocrad" make[1]: Leaving directory `/root/packages/ocrad-0.20' debian/rules override_dh_install make[1]: Entering directory `/root/packages/ocrad-0.20' /usr/bin/make install DESTDIR=/root/packages/ocrad-0.20/debian/ocrad make[2]: Entering directory `/root/packages/ocrad-0.20' if [ ! -d "/root/packages/ocrad-0.20/debian/ocrad/usr/share/info" ] ; then install -d -m 755 "/root/packages/ocrad-0.20/debian/ocrad/usr/share/info" ; fi install -p -m 644 ./doc/ocrad.info "/root/packages/ocrad-0.20/debian/ocrad/usr/share/info/ocrad.info" install-info --info-dir="/root/packages/ocrad-0.20/debian/ocrad/usr/share/info" "/root/packages/ocrad-0.20/debian/ocrad/usr/share/info/ocrad.info" This is not dpkg install-info anymore, but GNU install-info See the man page for ginstall-info for command line arguments if [ ! -d "/root/packages/ocrad-0.20/debian/ocrad/usr/share/man/man1" ] ; then install -d -m 755 "/root/packages/ocrad-0.20/debian/ocrad/usr/share/man/man1" ; fi install -p -m 644 ./doc/ocrad.1 "/root/packages/ocrad-0.20/debian/ocrad/usr/share/man/man1/ocrad.1" if [ ! -d "/root/packages/ocrad-0.20/debian/ocrad/usr/bin" ] ; then install -d -m 755 "/root/packages/ocrad-0.20/debian/ocrad/usr/bin" ; fi install -p -m 755 ./ocrad "/root/packages/ocrad-0.20/debian/ocrad/usr/bin/ocrad" make[2]: Leaving directory `/root/packages/ocrad-0.20' /usr/bin/make install-lib DESTDIR=/root/packages/ocrad-0.20/debian/ocrad-dev make[2]: Entering directory `/root/packages/ocrad-0.20' if [ ! -d "/root/packages/ocrad-0.20/debian/ocrad-dev/usr/include" ] ; then install -d -m 755 "/root/packages/ocrad-0.20/debian/ocrad-dev/usr/include" ; fi if [ ! -d "/root/packages/ocrad-0.20/debian/ocrad-dev/usr/lib" ] ; then install -d -m 755 "/root/packages/ocrad-0.20/debian/ocrad-dev/usr/lib" ; fi install -p -m 644 ./ocradlib.h "/root/packages/ocrad-0.20/debian/ocrad-dev/usr/include/ocradlib.h" install -p -m 644 ./libocrad.a "/root/packages/ocrad-0.20/debian/ocrad-dev/usr/lib/libocrad.a" make[2]: Leaving directory `/root/packages/ocrad-0.20' make[1]: Leaving directory `/root/packages/ocrad-0.20' dh_installdocs dh_installchangelogs dh_installexamples dh_installman ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded: ignored. dh_installcatalogs dh_installcron dh_installdebconf dh_installemacsen dh_installifupdown dh_installinfo dh_pysupport dh_installinit dh_installmenu dh_installmime dh_installmodules dh_installlogcheck dh_installlogrotate dh_installpam dh_installppp dh_installudev dh_installwm dh_installxfonts dh_bugfiles dh_lintian dh_gconf dh_icons dh_perl dh_usrlocal dh_link dh_compress dh_fixperms dh_strip dh_makeshlibs dh_shlibdeps dh_installdeb dh_gencontrol dpkg-gencontrol: warning: Depends field of package ocrad-dev: unknown substitution variable ${shlibs:Depends} dh_md5sums dh_builddeb dpkg-deb: building package `ocrad' in `../ocrad_0.20-1_i386.deb'. dpkg-deb: building package `ocrad-dev' in `../ocrad-dev_0.20-1_i386.deb'. dpkg-genchanges -sa >../ocrad_0.20-1_i386.changes dpkg-genchanges: including full source code in upload dpkg-buildpackage: full upload (original source is included) Now running lintian... warning: lintian's authors do not recommend running it with root privileges! W: ocrad source: changelog-should-mention-nmu W: ocrad source: source-nmu-has-incorrect-version-number 0.20-1 W: ocrad source: package-lacks-versioned-build-depends-on-debhelper 7 W: ocrad source: out-of-date-standards-version 3.8.0 (current is 3.8.4) E: ocrad: package-contains-info-dir-file usr/share/info/dir.gz Finished running lintian. Now signing changes and any dsc files... signfile ocrad_0.20-1.dsc Dmitry Katsubo <dm...@mail.ru> signfile ocrad_0.20-1_i386.changes Dmitry Katsubo <dm...@mail.ru> Successfully signed dsc and changes files
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.8 Date: Wed, 14 Jul 2010 05:08:16 -0500 Source: ocrad Binary: ocrad ocrad-dev Architecture: source i386 Version: 0.20-1 Distribution: unstable Urgency: low Maintainer: Miguel Gea Milvaques <xera...@debian.org> Changed-By: Dmitry Katsubo <dm...@mail.ru> Description: ocrad - Optical Character Recognition program ocrad-dev - Ocrad development libraries. Closes: 566997 583595 585166 Changes: ocrad (0.20-1) unstable; urgency=low . * New upstream release v0.20 (Closes: #566997, #585166). * Forked -dev package (Closes: #583595). * Switched to v3.0 (quilt) of Debian package. Simplified debian/rules. Checksums-Sha1: 8fe723327d8da233bab8b36756095466d0a162d0 1023 ocrad_0.20-1.dsc 1ef01b233fdbdd14859660af32f1df99c5781922 102865 ocrad_0.20.orig.tar.gz 9737b505f48ba26669b385d646fcca178457386a 3452 ocrad_0.20-1.debian.tar.gz be575e0b0ddb58aecafeb0a65acde7c99921efdb 141920 ocrad_0.20-1_i386.deb d4ce393724d2979ab38f924736a73e904d91a976 151360 ocrad-dev_0.20-1_i386.deb Checksums-Sha256: e84a738e2dc19febc01dd49254efe6b9e321c063a67d241b1b640c0c5ee0d9a1 1023 ocrad_0.20-1.dsc eb6f2b47f5b4f2b98ea79f2608a4de368c2f5f62cfbe271d46c80b5dc61ea80a 102865 ocrad_0.20.orig.tar.gz 7b1bb5e9e59084ed3733cb9a0ea133f5fee90bbb99075b4c1adaf4e5d02c4367 3452 ocrad_0.20-1.debian.tar.gz 3e2dd8147d2c1da539c457fa80156356b4fd3066799c994653a405fcd04dad18 141920 ocrad_0.20-1_i386.deb 0170325b7a8bbea2a5e6a1d8a5c33ab2a20fcd6c4af545cc37d95b90d1bf42b6 151360 ocrad-dev_0.20-1_i386.deb Files: 756ce694e11f29e1d7c0ed86bfdb2cf6 1023 graphics optional ocrad_0.20-1.dsc f2567936f47b62c13b71f742e476fc8e 102865 graphics optional ocrad_0.20.orig.tar.gz 0df50cfac966c5afec353838ac06c66b 3452 graphics optional ocrad_0.20-1.debian.tar.gz 0960a17df2d5a45312c2661e8896442e 141920 graphics optional ocrad_0.20-1_i386.deb 61753729f3dd994d2a73262665cacbe6 151360 graphics optional ocrad-dev_0.20-1_i386.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iEYEARECAAYFAkw9jmMACgkQXO/YRBJKsVcmTQCgolEBMwE0mlOoiBC+yVyhCFPk RqUAoLRhl9ME45a/lHhZAd+wKTzS3DSj =F3wA -----END PGP SIGNATURE-----
_______________________________________________ Bug-ocrad mailing list Bug-ocrad@gnu.org http://lists.gnu.org/mailman/listinfo/bug-ocrad