Logo video2dn
  • Сохранить видео с ютуба
  • Категории
    • Музыка
    • Кино и Анимация
    • Автомобили
    • Животные
    • Спорт
    • Путешествия
    • Игры
    • Люди и Блоги
    • Юмор
    • Развлечения
    • Новости и Политика
    • Howto и Стиль
    • Diy своими руками
    • Образование
    • Наука и Технологии
    • Некоммерческие Организации
  • О сайте

Скачать или смотреть Быстрый захват окна — обнаружение объектов OpenCV в играх №4

  • Learn Code By Gaming
  • 2020-05-28
  • 260592
Быстрый захват окна — обнаружение объектов OpenCV в играх №4
opencvpythonopencv video capture pythonwindows game capturereal time imagereal time image processingopencv video capturecapture screenscreenshot pythonpython record windowswapping through frameimagegrabpywin32opencv tutorialcomputer vision tutorialreal time window capturecapturing screenreal time screen capture pythonscreen reading pythonopencv window capturecomputer vision beginner tutorialprogramming tutorialgrab screen
  • ok logo

Скачать Быстрый захват окна — обнаружение объектов OpenCV в играх №4 бесплатно в качестве 4к (2к / 1080p)

У нас вы можете скачать бесплатно Быстрый захват окна — обнаружение объектов OpenCV в играх №4 или посмотреть видео с ютуба в максимальном доступном качестве.

Для скачивания выберите вариант из формы ниже:

  • Информация по загрузке:

Cкачать музыку Быстрый захват окна — обнаружение объектов OpenCV в играх №4 бесплатно в формате MP3:

Если иконки загрузки не отобразились, ПОЖАЛУЙСТА, НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если у вас возникли трудности с загрузкой, пожалуйста, свяжитесь с нами по контактам, указанным в нижней части страницы.
Спасибо за использование сервиса video2dn.com

Описание к видео Быстрый захват окна — обнаружение объектов OpenCV в играх №4

Узнайте, как захватывать данные окна в режиме реального времени в виде видеопотока для обработки в OpenCV. Мы попробуем несколько различных методов в поисках наиболее быстрого. В этом руководстве я также расскажу о важности хороших навыков поиска в Google для программистов, а также повторю некоторые базовые концепции объектно-ориентированного программирования.

Полный плейлист с руководством:    • OpenCV Object Detection in Games  

Скачать код на GitHub: https://github.com/learncodebygaming/...

Обсуждаемое исследование:
Видео о начале работы с OpenCV: https://docs.opencv.org/4.2.0/dd/d43/...
Самый быстрый способ сделать снимок экрана с помощью Python в Windows: https://stackoverflow.com/a/3586280/1...
Конвертация изображения PyAutoGUI в OpenCV: https://stackoverflow.com/q/32918978/...
Вместо этого конвертируйте SaveBitmapFile в изображение OpenCV: https://stackoverflow.com/q/41785831/...
Лучший справочник по Numpy: https://numpy.org/doc/1.18/user/quick...
Список всех окон: https://stackoverflow.com/q/55547940/...

0:47 Основной цикл захвата
3:16 Использование PyAutoGUI screenshot()
6:24 Измерение частоты кадров (FPS)
8:27 Использование Pillow ImageGrab
9:31 Использование Pywin32 для создания скриншотов
13:48 Преобразование win32ui.CreateBitmap() для OpenCV
17:23 Ограничение скриншотов конкретным окном
18:42 Создание класса WindowCapture
25:05 Обрезка захвата окна
28:15 Преобразование изображения в положение на экране
29:35 Заключение

Полное руководство с примерами кода можно прочитать здесь: https://learncodebygaming.com/blog/fa...

До этого момента мы использовали OpenCV для обнаружения объектов на статических изображениях. Теперь мы готовы применить эти же методы к видеоиграм в реальном времени.

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

В OpenCV есть руководство «Начало работы с видео», которое послужит основой для нашего кода. Наше руководство отличается от официального руководства только тем, что мы готовимся работать со снимками экрана, а не с кадрами с камеры.

При определении функции get_screenshot() вы можете просто использовать pyautogui.screenshot() из библиотеки PyAutoGUI или ImageGrab.grab() из библиотеки изображений Python.

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

Для этого сначала нужно выполнить команду pip install pywin32, чтобы получить доступ к API Win32 в Python.

Начнём с кода, который сделает снимок всего рабочего стола и сохранит его в файл. Это подтвердит работоспособность вызовов API Windows. Вызов этой функции должен привести к созданию файла снимка экрана debug.bmp.

Следующий шаг — изменить эту функцию так, чтобы вместо сохранения изображения она возвращала данные изображения, отформатированные для работы с OpenCV.

Теперь мы можем вызвать эту функцию из нашего исходного бесконечного цикла и получить потоковое изображение рабочего стола в реальном времени.

Чтобы улучшить этот результат, можно использовать win32gui.FindWindow(None, window_name) для захвата только нужного окна. Замените window_name строкой, содержащей имя из заголовка окна, которое нужно захватить. Это позволит захватывать кадры этого окна, даже если оно скрыто за другими окнами.

Если вам сложно определить имя нужного окна, используйте этот код для вывода списка имён всех существующих окон:

Мы можем ещё больше улучшить наш код, обрезав лишнее вокруг нужного окна. При запуске приведённого выше кода вы заметите чёрное пространство справа и снизу от изображения окна, а также границы и заголовок окна. Их удаление не только улучшит внешний вид, но и повысит частоту кадров. Мы также можем добиться улучшения, не вызывая win32gui.FindWindow() при каждом вызове get_screenshot(), поэтому давайте создадим для этого класс.

Наконец, нам понадобится способ преобразовать позиции, обнаруженные на скриншотах, обратно в позиции в пикселях на реальном мониторе. В конструкторе класса WindowCapture я уже включил код для вычисления смещения окна, используя данные о его положении из win32gui.GetWindowRect(). Давайте добавим в наш класс метод, который использует это смещение для возврата преобразованной позиции на экране.

Продолжить чтение письменного руководства можно здесь: https://learncodebygaming.com/blog/fa...

Комментарии

Информация по комментариям в разработке

Похожие видео

  • О нас
  • Контакты
  • Отказ от ответственности - Disclaimer
  • Условия использования сайта - TOS
  • Политика конфиденциальности

video2dn Copyright © 2023 - 2025

Контакты для правообладателей [email protected]