Python OCR

0

Witam,

Czy można w jakiś sposób przesłać część graficzną ekranu(np jakiś kwadrat) do np tesseract ocr? , czy jedynym rozwiązaniem jest robienie screenshotów i przesłanie gotowych plików np jpg.
Chodzi mi o odczytanie wartości z ekranu.
Jak ktoś ma inny pomysł to niech pisze.
Dodam, że Cheat Engine nie działa, bo jest blokowany.

0

Kolego, nie masz zielonego pojęcia o tym. Daj spokój. Naprawdę...

0
Loża szyderców napisał(a):

Kolego, nie masz zielonego pojęcia o tym. Daj spokój. Naprawdę...

A co ta odpowiedź wnosi do tematu? Wytłumacz mu jak to działa, a nie tylko krytykuj. Chyba, że sam nie wiesz?

hugarili napisał(a):

Witam,

Czy można w jakiś sposób przesłać część graficzną ekranu(np jakiś kwadrat) do np tesseract ocr? , czy jedynym rozwiązaniem jest robienie screenshotów i przesłanie gotowych plików np jpg.
Chodzi mi o odczytanie wartości z ekranu.
Jak ktoś ma inny pomysł to niech pisze.
Dodam, że Cheat Engine nie działa, bo jest blokowany.

Musisz zrobić zrzut części ekranu. Żeby zrobić to programowo potrzebowałbyś znaleźć odpowiednie API udostępnione przez system operacyjny abo jego bibliotki do zarządzania oknami/grafiką, albo biblioteki, która robi to automagicznie i dostarcza API. Ewentualnie dobrać się do buforu znajdującego się karcie graficznej (frame buffer), o ile to będzie w ogóle możliwe.
Tutaj masz linka do tego jak zrobić to w WinApi: https://msdn.microsoft.com/en-us/library/windows/desktop/dd183402(v=vs.85).aspx
A tutaj w .Net: https://msdn.microsoft.com/en-us/library/cdcw1c3b.aspx

Jeżeli chcesz wywołać to z python potrzebowałbyś:

  • Stworzyć moduł pythona napisany w C, który udostępniłby ową funkcjonalność. Ewentualnie znaleźć gotowy moduł.
  • Załadować te funkcje przez moduł ctypes, pod warunkiem, że bitowość interpretera pythona jest taka sama jak tych bibliotek.
0

Aalbo skorzystać z dziesięciolonijkowego rozwiązania: https://stackoverflow.com/questions/2846947/get-screenshot-on-windows-with-python#10089645

Zastanów się tylko, czy koniecznie potrzebujesz OCR, czy nie łatwiej pobrać tekst bezpośrednio.

0
enedil napisał(a):

Aalbo skorzystać z dziesięciolonijkowego rozwiązania: https://stackoverflow.com/questions/2846947/get-screenshot-on-windows-with-python#10089645

Zastanów się tylko, czy koniecznie potrzebujesz OCR, czy nie łatwiej pobrać tekst bezpośrednio.

Pobrać tekst bezpośrednio - masz na myśli odwołanie się do odpowiedniego bodajże adresu pamięci?
Jeśli chodzi o mnie to OCR to jest tylko ostateczność - ze względu na szybkość swojego działania. Jest oczywiste, że robienie zrzutów na dysk i ich sprawdzania zajmie więcej czasu niż cokolwiek innego.

0

Może dałoby się wiecej wytłumaczyć, gdybyś powiedział w jakiej aplikacji występuje ten tekst, który pragniesz rozpoznać.

0
enedil napisał(a):

Może dałoby się wiecej wytłumaczyć, gdybyś powiedział w jakiej aplikacji występuje ten tekst, który pragniesz rozpoznać.

Uczę się pythona i stwierdziłem, że najlepiej robić jakieś praktycznie projekty.
Tak wygląda rzecz z której chcę powyciągać dane.
https://gyazo.com/90fe155b8e8f02769dea96b943ca5fe0

Macie jakieś pomysły, bo robienie screenshotów to trochę cienkie rozwiązanie.
Jeszcze będę próbował z Cheat Engine, żeby wyciągnąć adres.

0

Adres może być losowy za każdym uruchomieniem.
Chociaż to Windows ... może jeszcze tej podstawowej funkcjonalności systemu nie zaimplementowali :P.

0

No to dużo wyjaśniłeś tym screenem. Wciąż nie mamy pojęcia tutaj co to za aplikacja.

0

Polaczenie autopy pozwala przechwytywac okreslony obszar ekranu bez zapisywania pliku

http://www.autopy.org/documentation/api-reference/bitmap.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1