chrys87 / ocrdesktop

Accessiblity tool for use the current window with OCR technique
https://wiki.archlinux.org/index.php/Ocrdesktop
16 stars 3 forks source link

Does not work with Tesseract 4 #5

Closed vojtapolasek closed 5 years ago

vojtapolasek commented 5 years ago

Arch Linux, Ocrdesktop from git (AUR package), Tesseract 4.0.0. When running just ocrdesktop I get this: ❯ ocrdesktop /usr/bin/ocrdesktop:413: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_toggleview = Gtk.MenuItem("Toggle _View") /usr/bin/ocrdesktop:416: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_ocroptions = Gtk.MenuItem("_OCR Options") /usr/bin/ocrdesktop:420: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_invert = Gtk.CheckMenuItem("_Invert") /usr/bin/ocrdesktop:422: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_grayscale = Gtk.CheckMenuItem("_Grayscale") /usr/bin/ocrdesktop:424: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_barrierbw = Gtk.CheckMenuItem("_Barrier Black White") /usr/bin/ocrdesktop:436: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_retry = Gtk.MenuItem("_Retry OCR") /usr/bin/ocrdesktop:439: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_clipboard = Gtk.MenuItem("Send to _Clipboard") /usr/bin/ocrdesktop:442: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_font = Gtk.MenuItem("_Font") /usr/bin/ocrdesktop:444: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_close = Gtk.MenuItem("_Close") /usr/bin/ocrdesktop:459: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_preclick = Gtk.CheckMenuItem("_Preclick") /usr/bin/ocrdesktop:462: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_leftclick = Gtk.MenuItem("_Left Click") /usr/bin/ocrdesktop:465: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_doubletclick = Gtk.MenuItem("_Double Click") /usr/bin/ocrdesktop:468: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_rightclick = Gtk.MenuItem("_Right Click") /usr/bin/ocrdesktop:471: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_middleclick = Gtk.MenuItem("_Middle Click") /usr/bin/ocrdesktop:474: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_routeto = Gtk.MenuItem("Route _To") /usr/bin/ocrdesktop:477: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_sendkey = Gtk.MenuItem("Send _Key") /usr/bin/ocrdesktop:496: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_save = Gtk.MenuItem("_Save As") /usr/bin/ocrdesktop:499: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_load = Gtk.MenuItem("_Load") /usr/bin/ocrdesktop:502: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_delete = Gtk.MenuItem("_Unload") /usr/bin/ocrdesktop:505: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_run = Gtk.MenuItem("_Run") /usr/bin/ocrdesktop:518: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_about = Gtk.MenuItem("_About") /usr/bin/ocrdesktop:523: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_ocrdesktop = Gtk.MenuItem("_OCRDesktop") /usr/bin/ocrdesktop:525: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_interact = Gtk.MenuItem("_Interact") /usr/bin/ocrdesktop:527: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_macro = Gtk.MenuItem("_Macro") /usr/bin/ocrdesktop:529: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.item_help = Gtk.MenuItem("_Help") /usr/bin/ocrdesktop:542: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self._keyboardOverlayLabel = Gtk.Label("Please insert keyboard commands. exit with: F4") /usr/bin/ocrdesktop:207: DeprecationWarning: Soon 'tesseract' will be deprecated, use Tesseract instead self._tess = tesseract(tesseractData, self._languageCode) !strcmp(locale, "C"):Error:Assert failed:in file baseapi.cpp, line 209 Neoprávněný přístup do paměti (SIGSEGV) (core dumped [obraz paměti uložen])

chrys87 commented 5 years ago

Yea, the python-tesserwrap bindings broke cause they seem to be unmaintained.

To fix it up we need other bindings what allows to get the OCRed boxes position and geometry ( to simulate clicks)

Or we can fix up tesserwrap to work again. But i m out cause by busy days in my job currently.

Maybe migrate OCRdesktop to C++ is the best but also most work intensive way to prevent this in future.

chrys87 commented 5 years ago

Plus OCRdesktop needs a new menu since the good old menu bar seems to be deprecated in current GTK versions

chrys87 commented 5 years ago

Howdy, you need to reinstall python-tesserwrap after install tesseract and use master. This should fix OCRdesktop for tesseract 4. for me it starts now. i recogniced that the tesseract lanugage data location changed as well. i added it for archlinux what is: /usr/share/tessdata/ if yours is different send it to me in an seperate issue, i will add it then to the search function.

close this now as it works basical.