RiftVision é um projeto de visão computacional que utiliza Machine Learning para identificar e extrair dados de replays de partidas de League of Legends. Este projeto é ideal para analistas de jogos, desenvolvedores de ferramentas e entusiastas que desejam obter insights detalhados a partir de vídeos de jogos.
- Detecta objetos no minimapa usando o modelo YOLO.
- Extrai dados de ouro dos jogadores a partir das informações exibidas no vídeo.
- Converte coordenadas de pixel para coordenadas do mapa de jogo.
- Gera um vídeo de saída com as detecções e um JSON contendo os dados extraídos.
- Python 3.7+
- OpenCV
- NumPy
- tqdm
- Ultralytics YOLO
- EasyOCR
- Clone o repositório:
git clone https://github.com/seu-usuario/riftvision.git
cd riftvision
- Instale as dependências:
pip install -r requirements.txt
- Prepare seu vídeo de entrada e o modelo YOLO treinado.
- Certifique-se de que as imagens de template (minimapa e tabela de ouro) estejam no diretório
input_video
. - Execute o script:
python riftvision.py --input <caminho_do_video_de_entrada> --output <caminho_do_video_de_saida> --model <caminho_do_modelo_yolo> --frames <numero_de_frames>
Parâmetros:
--input
: Caminho para o vídeo de entrada.--output
: Caminho para o vídeo de saída.--model
: Caminho para o modelo YOLO.--frames
: Número de frames a serem processados (opcional, padrão é processar o vídeo inteiro).
Exemplo:
python riftvision.py --input input_video/teste2.mp4 --output output_video/result.mp4 --model model/best.pt --frames 1000
riftvision/
│
├── app/
│ ├── config/
│ │ ├── minimap.png # Template da tabela de ouro
│ │ ├── gold_table.png # Template do minimapa
│ ├── model/
│ │ ├── (modelo YOLO removido devido ao tamanho)
│ ├── processors/
│ │ ├── frame_processor.py
│ │ ├── video_processor.py
│ ├── utils/
│ │ ├── image_utils.py
│ │ ├── template_loader.py
│
├── riftvision.py # Script principal do projeto
├── requirements.txt # Dependências do projeto
├── yolo_interference.py # Script principal do projeto, mais funcional
└── README.md # Instruções e informações sobre o projeto
- A escala do mapa deve ser 100.
- O vídeo deve ser gravado em 1920x1080.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests para melhorar este projeto.
Este projeto está licenciado sob a MIT License.
Para mais informações, entre em contato com [email protected]. Para maior agilidade recomendo usar o discord do Rift Vision
RiftVision é um projeto de open source e não é afiliado ou endossado pela Riot Games. League of Legends é uma marca registrada da Riot Games, Inc. Todos os direitos reservados.