<MyRusakov.ru />

Создание игр на Unreal Engine 5

Создание игр на Unreal Engine 5

Данный курс научит Вас созданию игр на Unreal Engine 5. Курс состоит из 12 модулей, в которых Вы с нуля освоите этот движок и сможете создавать самые разные игры.

В курсе Вы получите всю необходимую теоретическую часть, а также увидите массу практических примеров. Дополнительно, почти к каждому уроку идут упражнения для закрепления материала.

Помимо самого курса Вас ждёт ещё 8 бесплатных ценных Бонусов: «Chaos Destruction», «Разработка 2D-игры», «Динамическая смена дня и ночи», «Создание динамической погоды», «Создание искусственного интеллекта для NPC», «Создание игры под мобильные устройства», «Создание прототипа RPG с открытым миром» и и весь курс «Создание игр на Unreal Engine 4» (актуальный и в 5-й версии), включающий в себя ещё десятки часов видеоуроков.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Извлекаем кадры видео с Python и Opencv

Извлекаем кадры видео с Python и Opencv

В задачах компьютерного зрения, часто требуется найти и обработать какой-либо объект из фото или видео. И Python как нельзя лучше подходит для написания логики такой программы. В данной статье мы будем искать лица на видео и сохранять их в отдельной папке. Для распознавания лица используем каскад Хаара. Он должен быть установлен в папке cv2 как, haarcascade_frontalface_default.xml. Найдем его и скопируем путь к нему. Также используем модуль cv2 библиотеки Opencv, и numpy для обрезания кадра по найденным линиям.


import cv2
import numpy as np


# открываем встроенную веб камеру 
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
# или видеозапись
# cap = cv2.VideoCapture("путь/record.mp4", cv2.CAP_DSHOW)


# устанавливаем счетчик 
counter=0

# запускаем бесконечный цикл и проверяем статус камеры
while cap.isOpened():
    
    # читаем кадры с записи или камеры в frame
    _, frame = cap.read()
    
    # переводим кадр в черно-белую градацию
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    # создаем функцию классификатор и сохраняем ее в переменной
    face_cascade = cv2.CascadeClassifier("путь/haarcascade_frontalface_default.xml")
    # вызываем метод с параметром в виде кадра gray 
    # метод вернет список найднных областей
    faces = face_cascade.detectMultiScale(gray)

    # выделяем на кадре эти области прямоугольником
    for x, y, width, height in faces:
        cv2.rectangle(frame, (x, y), (x + width, y + height), color=(255, 0, 0), thickness=2)

    
     # вырезаем и сохраняем  найденные объекты
     # в папку detected_from_video_screen. Точка перед ней указывает на текущий каталог
    for x, y, width, height in faces:
        crop_img = frame[y:y + height, x:x + width]
        cv2.imwrite("./detected_from_video_screen/face_{0}.jpg".format(counter), crop_img)
        counter = counter+1

    cv2.imshow("frame", frame)
    if cv2.waitKey(40) == 27:
      break


cap.release()
cv2.destroyAllWindows()

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (2):

ZeroGame ZeroGame 06.11.2022 17:43:02

Здравствуйте, мне необходимо из видео достать каждый 500 кадр. Как это можно реализовать?

Ответить

Castels Castels 10.11.2022 21:43:13

Здравствуйте Используйте следующее условие во втором вложенном цикле из примера выше: if counter % 500 == 0: // save

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.