Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (9)

Лучшие ответы пользователя

Все ответы (5)
  • Почему цикл внезапно обрывается?

    @Nuchimik
    Ну во-первых, ты не должен изменять список, по которому идешь. Во-вторых, тебе вообще не нужно удалять элементы, нужно сделать на индексах и все
    [sum(var[i:i+2]) for i in range(0, len(var) - 1, 2)]


    Ну или если переписать твой вариант, то
    var = [1,2,3,4,5,6,7,8,9,10,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10]
    result = []
    
    for i in range(0, len(var), 2):
        a = var[i] + var[i+1]
        result.append(a)
    Ответ написан
    2 комментария
  • Как реализовать чтение текста над линиями OpenCV?

    @Nuchimik
    Под документом вы подразумеваете Word, PDF, другой формат или обычное изображение? Или в этих документах содержатся изображения с текстом?

    Если же ваша задача состоит в том, чтобы распознавать текст в определенных местах (т.е. вам не нужен сырой текст, распознанный тессерактом, а важно местоположение этого текста), вы можете следовать следующему алгоритму:
    1. Извлечь изображение с линиями и текстом из вашего документа (этот шаг опционален, потому что не известен формат входящих данных из вашего вопроса).
    2. Применить медианную фильтрацию. Данный вид фильтрации хорошо подойдет для вашей задачи, а также достаточно просто в понимании. О ней вы можете почитать тут и тут (обзор простых фильтров и немного мат. части по фильтрам). Данный фильтр отлично справляется с мелким шумом и не размывает границы, что очень важно для вашей задачи. Пример на opencv
    3. Далее вам необходимо найти линии. Подразумеваю, что они горизонтальные. Но даже если не так, это не страшно. Вы можете использовать преобразования Хафа. Но перед этим, вы должны использовать какой-нибудь детектор границ. Самым распространенным является детектор границ Кэнни (Статья на Хабре). Пример на opencv
    4. По найденным линиям, вы можете определить, необходимо ли повернуть изображение, если линии не строго горизонтальные. Данный шаг необходим для получения более точных результатов от тессертакта.
    5. После чего, просто сортируете в нужном вам порядке линии и по координатам извлекаете текст.


    P.S. Данный алгоритм применим для задачи, которую вы описали в вопросе.
    Ответ написан
    Комментировать
  • Как убрать ошибки"AttributeError: 'coroutine' object has no attribute 'content'" и "AttributeError: 'Message' object has no attribute 'user'"?

    @Nuchimik
    У класса Message нет атрибута user согласно доке доке .
    Но есть атрибут author
    A Member that sent the message. If channel is a private channel or the user has the left the guild, then it is a User instead.

    На счет первой ошибки, согласно опять же доке, метод client.wait_for возвращает строку, а следовательно никакого content у него быть не может. Но в твоем случае ошибка также в том, что не указано await перед сопрограммой (coroutine), которым является метод client.wait_for

    Попробуй так
    message_response = await client.wait_for('message', check=lambda m: m.author== ctx.author)
    Ответ написан
    2 комментария
  • Как реализовать ArrayField в виде списка в Django forms?

    @Nuchimik
    Т.к. ты используешь ArrayField, значит и postgres скорее всего. Ты можешь попробовать посмотреть django.contrib.postgres.forms.SimpleArrayField, но скорее всего там не такой виджет, который тебе нужен.

    Я бы предложил тебе написать свой кастомный виджет со своим шаблоном. Далее, написать несколько эндпоинтов для добавления/удаления/редактирования элементов массива (если хочешь в фоне это делать, если нет, то и одного хватит, или же сохранять вместе с основной формой). В этом же виджете можешь написать парсинг значения, чтобы привести его к виду, который будет понятен БД. Если фоном будешь обновлять, придется еще пару скриптов на js/jQuery (или что у тебя на проекте) написать.

    Ну или проще вариант, просто взять виджет, который используется в решении, которое ты нашел

    Можно конечно сделать таблицу, как предложил Dr. Bacon, и может быть, в твоем случае, это будет правильней, быстрее, и наименее геморройно, но это лишние запросы к БД и вполне возможно избыточность
    Ответ написан
    Комментировать