1. static void
_f_do_barnacle_install_properties(GObjectClass
*gobject_class)
{
OCRFeeder
GParamSpec *pspec;
/* Party code attribute */
pspec = g_param_spec_uint64
(F_DO_BARNACLE_CODE,
"Barnacle code.",
"Barnacle code",
0,
G_MAXUINT64,
G_MAXUINT64 /*
default value */,
Converting printed documents into
G_PARAM_READABLE
| G_PARAM_WRITABLE |
G_PARAM_PRIVATE);
digital formats g_object_class_install_property (gobject_class,
F_DO_BARNACLE_PROP_CODE,
Joaquim Rocha
jrocha@igalia.com
Berlin, May 2011
2. What is it?
Document Analysis and Optical
Character Recognition
for GNOME
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
3. Why?
Paper has a number of problems
No applications for GNU/Linux to do
a fair job
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
4. Paper problems:
Security
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
CC Photo by: http://www.flickr.com/photos/badwsky/
5. Paper problems:
Preservation
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
CC Photo by: http://www.flickr.com/photos/98469445@N00/
6. Paper problems:
Data processing
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
CC Photo by: http://www.flickr.com/photos/hugovk/
7. Paper problems:
Ecology
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
CC Photo by: http://www.flickr.com/photos/pranavsingh/
8. No fair conversion apps for
GNU/Linux
apart from OCR engines, but...
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
9. OCR != Document Conversion
(it only deals with chars)
(does not consider the layout)
(does not distinguish contents)
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
10. What's needed is
Document Analysis and
Recognition
(conversion of documents to an
electronic format)
(first projects in the 80s)
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
11. Where are were we at?
* Some closed solutions
* Only for proprietary systems
* Various prices
* still... arguable results
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
12. How
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
13. So many layouts...
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
CC Photo by: http://www.flickr.com/photos/uber-tuber/
14. Layouts vary with the type of
document
What works on detecting one, won't
work on others
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
15. OCRFeeder focuses on contents,
not on layouts!
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
16. Key concept:
If a document image can be
divided in windows of 1 (content)
or 0 (not content),
then it is possible to group all the
1s and outline the contents
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
20. Most known free OCR engines are
detected and configured
automatically:
* Tesseract
* GOCR
* OCRAD
* Cuneiform
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
21. Exportation formats:
ODT
HTML
Plain text
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
22. User interaction:
Users can edit everything
and review the algorithm's results
So, UI can work in attended and
unattended ways
CLI only works in an unattended
mode
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
26. A11y:
* OCRFeeder is a very useful tool
for visually impaired users
* Last year, the main target of its
development was to improve a11y
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011
27. Future:
* Integrate Ocropus as an
alternative analysis backend
* More exportation formats: HOCR,
PDF, etc.
* Make OCR engines' management
easier
Joaquim Rocha (Igalia) · OCRFeeder · LinuxTag 2011