• Как распознавать церковнославянский язык?

    Quaestio
    @Quaestio Автор вопроса
    rPman, Отчет о проделанной работе:
    Gamera - устанавливается сложно, и нужно в нее вбивать все символы - долго. Понял что не так с версией от alysmirnova, оказалось, качество менять не нужно, нужно "просто" при конвертировании в .PNG указать обрезку, рамочка в книге при распознавании, в принципе то и не нужна, но если ее вырезать - достаточно быстро распознает.
  • Как распознавать церковнославянский язык?

    Quaestio
    @Quaestio Автор вопроса
    rPman, Наверно потому, что Armbian, а он урезанный. Позже напишу, за 3 зайцами гоняться - плохая идея. Я сейчас с версией alysmirnova экспериментирую, подбираю качество изображения. Быть может вы встречали эту книгу, уже распознанную? Я лет пять назад, а может и больше заходил на сайт azbyka ана как была не до распознанная, так и осталась.
  • Как распознавать церковнославянский язык?

    Quaestio
    @Quaestio Автор вопроса
    rPman,
    1. pip install wxPython
    2. sudo apt install python3-wxgtk4.0
    3. /home/maxim/.local/bin/gamera_gui
  • Как распознавать церковнославянский язык?

    Quaestio
    @Quaestio Автор вопроса
    rPman, Как я могу показать ошибку, если Хабр не позволяет отправить больше чем 10 000 символов?
  • Как распознавать церковнославянский язык?

    Quaestio
    @Quaestio Автор вопроса
    rPman,
    maxim@orangepiprime:~$ /home/maxim/.local/bin/gamera_gui
    Loading GAMERA...
    Use 'gamera_gui --help' to display command line options
    Error: 'gamera_gui' need wxPython installed. Please install it, throw 'pip install wxPython'
  • Как распознавать церковнославянский язык?

    Quaestio
    @Quaestio Автор вопроса
    rPman, Поможете установить Gamera?:
    D:\Путь\gamera\gamera-4-master>python setup.py install
    
    Gamera version: 4.1.0
    skipping wrapper generation for arithmetic plugin (output up-to-date)
    skipping wrapper generation for binarization plugin (output up-to-date)
    skipping wrapper generation for color plugin (output up-to-date)
    skipping wrapper generation for contour plugin (output up-to-date)
    skipping wrapper generation for convolution plugin (output up-to-date)
    skipping wrapper generation for corelation plugin (output up-to-date)
    skipping wrapper generation for deformation plugin (output up-to-date)
    skipping wrapper generation for draw plugin (output up-to-date)
    skipping wrapper generation for edgedetect plugin (output up-to-date)
    skipping wrapper generation for features plugin (output up-to-date)
    skipping wrapper generation for fourier_features plugin (output up-to-date)
    skipping wrapper generation for geometry plugin (output up-to-date)
    skipping wrapper generation for gui_support plugin (output up-to-date)
    skipping wrapper generation for image_conversion plugin (output up-to-date)
    skipping wrapper generation for image_utilities plugin (output up-to-date)
    skipping wrapper generation for listutilities plugin (output up-to-date)
    skipping wrapper generation for logical plugin (output up-to-date)
    skipping wrapper generation for misc_filters plugin (output up-to-date)
    skipping wrapper generation for misc_free_functions plugin (output up-to-date)
    skipping wrapper generation for morphology plugin (output up-to-date)
    skipping wrapper generation for pagesegmentation plugin (output up-to-date)
    Traceback (most recent call last):
      File "D:\Путь\gamera\gamera-4-master\setup.py", line 52, in <module>
        plugin_extensions = gamera_setup.generate_plugins(plugins, "gamera.plugins")
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\Путь\gamera\gamera-4-master\gamera\gamera_setup.py", line 104, in generate_plugins
        extension = generate.generate_plugin(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\Путь\gamera\gamera-4-master\gamera\generate.py", line 328, in generate_plugin
        plugin_module = __import__(module_name)
                        ^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\Путь\gamera\gamera-4-master\gamera\generate.py", line 79, in magic_import
        return std_import(name, globals_, locals_, fromlist, level)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\Путь\gamera\gamera-4-master\gamera\plugins\png_support.py", line 78, in <module>
        class PngSupportModule(PluginModule):
      File "D:\Путь\gamera\gamera-4-master\gamera\plugins\png_support.py", line 105, in PngSupportModule
        cpp_sources = [os.path.join(internal_png_dir, x) for x in
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\Путь\gamera\gamera-4-master\gamera\plugins\png_support.py", line 105, in <listcomp>
        cpp_sources = [os.path.join(internal_png_dir, x) for x in
                                    ^^^^^^^^^^^^^^^^
    NameError: name 'internal_png_dir' is not defined
  • Как распознавать церковнославянский язык?

    Quaestio
    @Quaestio Автор вопроса
    количество текстов конечное
    Не распознанных книг думаю, еще много есть.

    Распараллелил на много независимых задач
    Я подожду еще пару дней, потом попробую уменьшить качество картинки, у меня .PNG файл весит 2,5 Мегабайт. .PDF файл разбил при помощи Poppler.
  • Как распознавать церковнославянский язык?

    Quaestio
    @Quaestio Автор вопроса
    Мне нравится. А уже обученного церковнославянскому Tesseractа нет? Может дополнение какое-то есть или библиотека или...? Не буду ли я т.с. изобретать велосипед?

    Говорят, что Tesseract это прошлый век.
  • Как распознавать церковнославянский язык?

    Quaestio
    @Quaestio Автор вопроса
    Василий Банников,
    задача не очень распространённая
    Почему? Верующих же много, книг, молитв же много.

    долгое распознавание я бы не назвал большой проблемой
    Почему? Я пол дня жду, когда распознает одну страницу.
  • Какой программой вы пользуетесь для замены несколькими регулярными выражениями?

    Quaestio
    @Quaestio Автор вопроса
    xotkot, Спасибо!
    Не уверен, что это важно, но скажу. Раньше у файла был вид:
    Текст ⧸⧸ Текст [XXXXXXXXXXX].info.json

    А теперь:
    Текст ⧸⧸ Текст.json

    Вы есть на GitHub? Позволите посмотреть ваши программы?
  • Какой программой вы пользуетесь для замены несколькими регулярными выражениями?

    Quaestio
    @Quaestio Автор вопроса
    xotkot,
    + set -o nounset
    + set -o errexit
    + set -o pipefail
    + URL=https://youtu.be/XXXXXXXXXXX
    + DIR=/home/folder1/Folder2/Folder3/Folder4/1
    ++ yt-dlp --write-comments --skip-download https://youtu.be/XXXXXXXXXXX
    ++ awk '-FJSON to: ' '/info.json$/{print $2}'
    + FILE_JSON='/home/folder1/Folder2/Folder3/Folder4/1/Текст ⧸⧸ Текст [XXXXXXXXXXX].info.json'
    ++ date +%y%m%d%H
    ++ cat '/home/folder1/Folder2/Folder3/Folder4/1/Текст ⧸⧸ Текст [XXXXXXXXXXX].info.json'
    ++ jq -r .title
    + FILE_COMMENTS='/home/folder1/Folder2/Folder3/Folder4/1/23072112 Текст // Текст.txt'
    + echo -e 'https://youtu.be/XXXXXXXXXXX\n'
    ./bash.sh: line 13: /home/folder1/Folder2/Folder3/Folder4/1/23072112 Текст // Текст.txt: No such file or directory
  • Какой программой вы пользуетесь для замены несколькими регулярными выражениями?

    Quaestio
    @Quaestio Автор вопроса
    xotkot, Что же делать? Попался ролик со слэшами "Текст ⧸⧸ Текст" в текст не конвертируется и не переименовывается. Сделал так:

    #!/usr/bin/env bash
    
    set -o nounset
    set -o errexit
    set -o pipefail
    
    URL="$1"
    DIR="$PWD"
    
    FILE_JSON="$DIR/"$(yt-dlp --write-comments --skip-download "$URL" |awk -F'JSON to: ' '/info.json$/{print $2}')
    FILE_COMMENTS="$DIR/$(date +"%y%m%d%H") "$(cat "$FILE_JSON" | jq -r '.title').txt
    echo -e "$URL\n" > "$FILE_COMMENTS"
    cat  "$FILE_JSON" | jq -r '.title' >> "$FILE_COMMENTS"
    echo "--------------------------------------------------" >> "$FILE_COMMENTS"
    cat  "$FILE_JSON" | jq -r '"Просмотров: \(.view_count)   Лайков: \(.like_count)   Комментариев: \(.comment_count)"' >> "$FILE_COMMENTS"
    echo "--------------------------------------------------" >> "$FILE_COMMENTS"
    cat  "$FILE_JSON" | jq -r '.comments[] | if .parent == "root" then "\n+\(.like_count) \(.author) >>> \(.text)" else "\t+\(.like_count) \(.author) >>> \(.text)" end' >> "$FILE_COMMENTS"
    mv 'Текст '\⧸\⧸' Текст [XXXXXXXXXXX].info.json' $(date +"%y%m%d%H").info.json


    Не получилось. Удали почти все:
    #!/usr/bin/env bash
    mv 'Текст '\⧸\⧸' Текст [XXXXXXXXXXX].info.json' $(date +"%y%m%d%H").info.json


    Переименовать получилось, но в текст то не конвертирует.
  • Возможно ли из html файлов сделать такие txt файлы?

    Quaestio
    @Quaestio Автор вопроса
    Dimonchik,
    тупиковый путь
    Да, для него 37102 строки оказалось проблема.
    Сделал так:
    import sqlite3
    
    db = sqlite3.connect('RST77.SQLite3')
    cursor = db.cursor()
    qry = "SELECT verses.text, books.short_name, verses.chapter, verses.verse FROM verses, books WHERE verses.book_number = books.book_number"
    cursor.execute(qry)
    
    for row in cursor.execute(qry).fetchall():
        print(row[0], "=>=>=>=>=>=>=>", row[1], ".:.:.:.:.:.:.:", row[2], ":::::::", row[3])
    
    cursor.close()
    db.close()


    Как в .txt сохранять не стал разбираться, сделал так: python RST77.py > RST77.txt
    В Notepad++ заменил =>=>=>=>=>=>=>, .:.:.:.:.:.:.: и :::::::.
  • Возможно ли из html файлов сделать такие txt файлы?

    Quaestio
    @Quaestio Автор вопроса
    Dimonchik,
    тупиковый путь
    Base или Calc? Мышкой шевелить проще, чем разбираться с командами.

    Питон дня три уйдет на вникание если вообще далек
    Да, не то чтоб совсем далек, скорее религия немножечко против - змей же.

    import sqlite3 Подключаем библиотеку.

    db = sqlite3.connect('RSTM.SQLite3')
    cursor = db.cursor()
    qry = "SELECT text(*) FROM verses"
    Подключаем базу, выполняем запрос.

    db.close() Закрываем.
  • Возможно ли из html файлов сделать такие txt файлы?

    Quaestio
    @Quaestio Автор вопроса
    Dimonchik, Я так и знал, что порекомендуешь обратиться к поисковым системам, кто людям помогает, тот тратит время зря? Я сейчас с LibreOffice экспериментирую, если не получится - пообщаюсь со змеем.
  • Возможно ли из html файлов сделать такие txt файлы?

    Quaestio
    @Quaestio Автор вопроса
    Dimonchik, Да, нашел файл RST77.SQLite3 на сайте в DB Browser for SQLite выполнил запрос:
    SELECT text, short_name, chapter, verse FROM verses
    JOIN books ON verses.book_number = books.book_number


    Результат скопировал в буфер и вставил в Notepad++

    Получился такой вид:
    В НАЧАЛЕ сотворил Бог небо и землю. Быт 1 1

    А нужен такой:
    В начале сотворил Бог небо и землю Быт.1:1


    Т.е. Да, перед - Быт нужна табуляция, после Быт точка, а не табуляция, между главой и стихом двоеточие, а не табуляция. Подправишь SQL запрос?
  • Возможно ли из html файлов сделать такие txt файлы?

    Quaestio
    @Quaestio Автор вопроса
    Dimonchik, Да искал я в этом вашем Интернете и все еще ищу, а так же ответ с регулярными выражениями или программированием. Когда найду отпишусь.
  • Возможно ли из html файлов сделать такие txt файлы?

    Quaestio
    @Quaestio Автор вопроса
    Dimonchik, Брат Димон, вижу ты с пророком Аввакумом знаком, может знаешь, где можно скачать 77 книг Библии, чтоб каждая строчка была подписана? Приблизительно такого вида "В начале сотворил Бог небо и землю Быт.1:1".
  • Возможно ли из html файлов сделать такие txt файлы?

    Quaestio
    @Quaestio Автор вопроса
    Владимир Куц, Dimonchik, Ой, модуль не поставил pip install lxml и пару строк, которые были по умолчанию не удалил. Как в конец строки добавить " Книга пророка Авдия 1:1"?