Задать вопрос
  • Как вывести любую часть древовидного списка?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    Для реализации этой задачи хорошо подходит хранение в виде Nested Set. Хранение в виде Adjacency List подразумевает рекурсию и полную выборку.

    Но самое простое решение в данном случае - просто закешировать отсортированную выборку, не меняя хранение, и резать для пагинации уже её.
    Ответ написан
    Комментировать
  • Возможно ли изменять windows 10 с помощью c++?

    Обычно все манипуляции с Windows делаюся с помощью WinAPI. Этот набор api доступен из разных языков программирования, включая C++.
    Ответ написан
    2 комментария
  • DDR4 на компьютере и DDR5 на видеокарте совместимы?

    xez
    @xez
    TL Junior Roo
    видеокарта это независимое устройство как отдельный компьютер в компьютере с своим процессором и оперативкой, главное чтобы порт подошёл
    Ответ написан
    3 комментария
  • Вопрос в VS code python как правиль поставить префикс?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Ну для начала - выкинуть токен бота. А далее, поскольку вы, судя по всему, не знаете синтаксиса базовых структур данных, алгоритм следующий:
    1.Забыть на полгодика о ботах в принципе.
    2.Найти учебник по Python (подсказка - гугл или данный ресурс в помощь).
    3.Изучить его.
    Ответ написан
    Комментировать
  • Мне надо чтобы в 1 переменной было время а выводило время +15сек, что я делаю не так?

    @newPsevdonim
    Python разработчик
    Должно так работать

    from datetime import datetime 
    
    datetime.now() + timedelta(seconds=1)
    Ответ написан
    1 комментарий
  • Какое оптимальное количество треугольников в здании для игры?

    @Bright144
    Для двух окон 106 вершин нормально. Периллу лучше сделать из профильных труб, потом можешь его детализировать если надо. Если хочешь моделировать для игр читай это:
    Lowpoly и запечка текстур
    Ответ написан
    Комментировать
  • Как получить файл .csv из .png?

    @karmoed Автор вопроса
    Для тех, кто тоже ищет ответ, публикую сам. Спасибо Василий Банников Василий Банников за то, что посоветовал разобраться с тессерактом. Похоже, что это единственный рабочий вариант.

    Тессеракт установить легче, чем я описал в вопросе. Качать отсюда, иначе можно пару часов пытаться решить разного рода проблемы. ..
    Так же нужно добавить "tessdata" в переменные среды ОС. При установке выбрать русский язык в качестве пакета.

    Установить через CMD:
    pip install pytesseract pillow
    pip install opencv-python


    После пары часов пыток ChatGpt я всё таки смог получить очень прекрасный пример кода. До этого я в сумме потратил часов 8 на то, чтобы организовать символы в фотошопе так, чтобы тессеракт хорошо их распознавал. Мне нужно было распознать и кириллицу и латиницу, так что я делал это в 2 подхода. В примере ниже сразу обрабатывается и кириллица и латиница

    Иногда ChatGpt приводит примеры с "image_to_data", иногда с "image_to_boxes". Хоть сперва Чат утверждает, что image_to_data":


    image_to_data возвращает более подробный результат распознавания, включающий координаты границ каждого слова, линию на которой находится это слово, уровень уверенности в правильности распознавания и другие метаданные, а image_to_boxes возвращает только координаты границ каждого символа на изображении.


    Это не так. На практике всё же приходим к этому выводу:

    image_to_data возвращает данные о распознанных строках и словах, а не о каждом символе, как это делает image_to_boxes.

    image_to_data - определяет строки, а image_to_boxes - каждый символ, поэтому используйте только последний метод

    Как сообщил ChatGpt - он выхватывает готовые решения из инета. Я перепробовал пару десятков... Добиться адекватного значения высоты не удалось, потому что для её определения ChatGpt даёт мне примеры с image_to_data, а это не подходит для распознавания каждого символа. Но хоть добился хоть какого-то определения ширины и игрека, похожих на правду.

    Скрипт для запуска (пример от ChatGpt):

    import pytesseract
    import cv2
    
    # установить путь к файлу tesseract.exe (если это необходимо)
    pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
    
    img = cv2.imread(ПУТЬ_ИМЯ_ИЗОБРАЖЕНИЯ)
    
    # преобразовать изображение в серое
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    
    # распознать каждый символ на изображении
    boxes = pytesseract.image_to_boxes(gray, lang='rus+eng') # кириллица + латиница 
    
    
    # распознать каждый символ на изображении
    boxes = pytesseract.image_to_boxes(gray, lang='rus+eng')
    
    
    # нарисовать прямоугольники вокруг символов на изображении
    for b in boxes.splitlines():
        b = b.split(' ')
        x, y, w, h = int(b[1]), int(b[2]), int(b[3]), int(b[4])
    
        h_real = img.shape[0] - y - h # вычисляем реальную высоту символа
        cv2.rectangle(img, (x, img.shape[0]-y), (w, img.shape[0]-h), (0, 0, 255), 1)
    
        print(f"Символ: {b[0]}, X: {x}, Y: {img.shape[0]-h}, Ширина: {w - x}")
    
    
    # сохранить результат в файл
    cv2.imwrite('result.png', img)


    Вот как это выглядит:
    spoiler

    641f5a58c2c22139155286.png

    Но этот пример изображения основан на отредактированном в фотошопе (ушло несколько часов) таким образом, чтобы он адекватно распознавался в более простом примере. Сперва распознавал латиницу, затем кириллицу. Сейчас распознаются оба языка. Обратите внимание на отступы между символами - иногда нужно его увеличивать или уменьшать. Так же часто приходится менять символы (не буквы) местами, чтобы они адекватно определялись и не сливались в одно целое.

    Так что не рассчитывайте, что сразу получите результат как в моём примере, возможно придётся экспериментировать.

    Так же вам может пригодиться словарь со всеми нужными ID и символами. В ответ не влезает (более 10к символов), так что словарь и пример вывода в консоль результата данных, на основе изображения выше (оно под спойлером), напишу в отдельном комментарии ниже.
    Ответ написан
    1 комментарий
  • Как правильно компилировать на с++?

    1. Для корректной работы необходимо собирать программы в release версии. Сейчас вы собираете в debug версии (суффикс D в имени VCRRUNTIME140D.dll на это намекает).
    2. Для корректной работы требуется установить пакет vc-runtime (при динамической линковке рантайма). Если же vc-runtime линковать статически к exe файлу, то его ставить не нужно и программу можно безболезненно переносить между компьютерами.
    3. Для решения проблем, когда на целевом компьютере отсутствуют библиотеки, люди изобрели инсталяторы, котрые эти библиотеки доустанавливают.
    Ответ написан
    Комментировать
  • Почему часто вылетает капча?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    хрестоматийный случай

    вы поставили VPN
    "бесплатный"
    с андроид маркета

    тепреь платите за него прогоном трафика через себя

    вот прямо сейчас, в Maxton нажимаю, типа есть как в Опере, и там

    To use BrightVPN, you are allowing Bright Data to occasionally use your device’s free resources and IP address to download public web data from the Internet. Bright Data values your trust and takes every measure possible to protect your privacy and personal data. Bright Data understands the security matters at stake in sharing your IP address and monitors all of its network traffic to ensure your safety. Bright Data will only use your IP address for approved business-related use cases and never for unauthorized cases. None of your personal information is accessed or collected except your IP address. Period.

    что может быть более яснее-то? им нужен твой IP, одежда и мотоцикл
    Ответ написан
    2 комментария
  • Способ получения ФИО через номер телефона или соц сети?

    @newPsevdonim
    Python разработчик
    Использовать сервисы по типу get contact в надежде что кто записал полное имя пользователя. Вроде бы даже есть питоновская библиотека, которая позволяет использовать их бд.
    Ответ написан
    Комментировать
  • Способ получения ФИО через номер телефона или соц сети?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Поскольку это сбор сведений на людей то легального способа скорее всего нет. А если он появляется
    его быстро закрывают. Государство и правозащитники здесь вобщем-то едины. Такие базы не должны
    быть открытыми никогда.

    Базы для "пробива" предположительно лежат во всяких Даркнетах но я ХЗ... не видел никогда.
    Ответ написан
    Комментировать
  • Есть ли копирайт (авторское право) на названия игр?

    @mletov
    Как уже выше написали, лучше обратитесь к юристам.

    Не стоит пытаться программисткой формальной логикой осмыслить юридические моменты. Очень часто при рассмотрении таких дел проверяют не формальную сторону вопроса, ну или не только ее, а еще и мотивацию и положение дел на рынке, почему именно так назвали игру.

    Использовали две компании какое-то слово/выражение в названии игры, но при этом слово/выражение общеупотребимое, а игры ничего общего друг с другом по жанру и по аудитории не имеют - могут и не найти нарушения.
    И наоборот, если игры одной тематики, а первая игра имеет высокую популярность - налицо попытка паразитировать на чужом успехе.

    А еще "Тетрисы" и "Змейки" все подряд пишут и никто друг с другом не судится за название.

    Кроме юриста по авторскому праву вам никто не поможет.
    Ответ написан
    Комментировать
  • Есть ли копирайт (авторское право) на названия игр?

    Jacen11
    @Jacen11
    с таким к юристам идти нужно. Еще от страны зависит, куча тонкостей. Например общеупотребительное слово нельзя запатентовать. Но некоторые корпорации умудрялись сделать это.

    "оригинальное название + что-то своë"
    ну как бы можно. А потом придет повестка и будете все менять, потому что судиться просто дорого.
    Ответ написан
    Комментировать
  • Почему Yii2 HttpClient не отправляет заголовки с именами в snake_case?

    @pantsarny
    underscores_in_headers on;
    Nginx
    Ответ написан
    Комментировать
  • В какой ВУЗ лучше поступать для изучения ИБ?

    @kalapanga
    Вы уж определитесь - "для изучения ИБ" или "будущему пентестеру".
    Иначе в процессе обучения можете здорово разочароваться. На специальности 10.03.01 "Информационная безопасность" (в зависимости от профиля) так называемого "пентестинга" либо может не быть вообще, либо это может быть например одна дисциплина на 1-2 семестра.
    Ответ написан
    Комментировать
  • Какой процент распознавания точности артикула штучного товара на витрине по его внешнему виду считается "хорошим" а какой - "отличным"?

    Maksim_64
    @Maksim_64
    Data Analyst
    Хороший или отличный процент точности в контексте данной проблемы будет определятся бизнесом (при помощи специалистов разумеется). То есть "Приносит ли прибыль модель распознавания". Он же бизнес (опять же при помощи специалистов) установит порог для точности и ИНТЕРВАЛ (процент будет в интервале). при котором данная модель прибыльна.

    То есть точность модели это не некий уровень по индустрии, а бизнес вопрос при какой точности модели для бизнеса начинается выгода от применения.
    Ответ написан
    4 комментария
  • Как сжать базу данных в mongodb?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    можно чистить коллекции командой compact, может немного просесть перформанс, поэтому лучше выбрать время когда поменьше нагрузки

    коннектишься к монге, выбираешь базу, выбираешь коллекцию и вперед

    use mybase
    db.runCommand( { compact: "mycollectionname" })
    Ответ написан
    Комментировать
  • Можно ли лезть в ИБ с python?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    можно

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

    остальное Питон справится
    Ответ написан
    2 комментария
  • Чем меньше символов, пробелов и пропусков в коде, тем лучше?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Неправильно.
    Названия переменных и функций должны быть говорящими, чтобы их назначение сразу было понятно. Урезать названия до пары символов, лишь бы было покороче, - очень плохо.
    По пробелам, пустым строкам, отступам и пр. есть стайлгайды - рекомендации по оформлению кода. Например, PSR-1 и PSR-12 для PHP, Google Style Guide и Airbnb Style Guide для JS. В компании может быть принят и какой-то свой стайлгайд.
    Ответ написан
    Комментировать