Speed-cam.py ver 11.26 e maior agora será executado no Raspberry Pi OS Bullseye ou posteriormente com um módulo de câmera PI, bem como câmeras USBCAM e IP/RTSP. Para suporte a Picamera, execute sudo raspi-config , opções de interface e, em seguida, habilite/desative a opção e reinicialização da câmera herdada.
IMPORTANTE -Uma atualização Raspbian Sudo apt-get e a atualização de sudo apt-get não serão realizados como parte de
Speed-Install.sh, por isso é altamente recomendável que você os execute antes da instalação para garantir que seu sistema esteja atualizado.
Pressione o ícone do GitHub Copy no lado direito da caixa de código abaixo.
ou com o botão esquerdo do mouse, destaque o comando curl na caixa de código abaixo. Clique com o botão direito do mouse na área destacada e selecione cópia.
curl -L https://raw.github.com/pageauc/speed-camera/master/speed-install.sh | bash
No RPI Putty SSH ou Sessão do Terminal, clique com o botão direito do mouse, selecione Colar e digite o download e execute o script.
Isso baixará e executará o script Speed-Install.sh . Se estiver em execução no Python3, você precisará do OpenCV3 instalado se não estiver instalado. Se você precisar compilar o OpenCV, consulte meu repos
A versão 13.05 é uma grande revisão da câmera de velocidade. O código do thread da câmera agora é tratado por um módulo strmcam.py. Os nomes de variáveis config.py foram alterados para que você precise fazer backup e cp config.py.new config.py (veja abaixo para obter detalhes)
IMPORTANTE : Todas as configurações estão em config.py. Você pode excluir o configcam.py se ele existir, depois de atualizar para o ver 13.05 ou maior. Plugins agora funcionam. Você pode personalizar arquivos de plug -in para se adequar ou criar o seu. Se você estiver atualizando, você deve excluir, mova os plugins antigos para que os novos sejam baixados durante a atualização. Por favor, poste o problema do GitHub se encontrar um bug ou problema. Claude
Importantes velocidade-cam.py ver 8.x ou superior requer configuração atualizada e plugins.
cd ~/speed-camera
cp config.py config.py.bak
cp config.py.new config.py
Para substituir os plugins renomear (ou excluir) pasta de plug -ins por abaixo
cd ~/speed-camera
mv plugins pluginsold # renames plugins folder
rm -r plugins # deletes plugins folder
Em seguida, execute a escolha do menu Menubox.sh .
Consulte o Windows 10/11 ou Apple Mac Docker Instale o início rápido
ou Windows ou Unix Distro instala sem Docker
Este é um programa de demonstração do Raspberry Pi, Windows, Unix Distro OpenCV Speed Camera. Ele está escrito no Python e usa o OpenCV para detectar e rastrear as coordenadas X, Y do maior objeto em movimento na visão da câmera acima de uma área mínima de pixels.
As variáveis do usuário são armazenadas no arquivo config.py . A detecção de movimento é restrita entre MO_CROP_Y_UPPER , MO_CROP_Y_LOWER , MO_CROP_X_LEFT , MO_CROP_X_RIGHT VARIÁBRAS (estrada ou área de interesse). MO_CROP_AUTO_ON = True Substituir configurações manuais e calculará automaticamente uma área de corte áspera com base no tamanho da imagem. O rastreamento de movimento é controlado pela variável mo_track_event_count em config.py. Isso define o número de eventos de faixa e o comprimento da faixa em pixels. Isso pode precisar ser ajustado para a visualização da câmera, velocidade da CPU, etc. A velocidade é calculada com base nas variáveis cal_obj_px_ e cal_obj_mm_ para direção de movimento L2R e R2L. Uma imagem do quadro de fluxo de vídeo será capturada e salva em subpastas de mídia/imagens datadas (opcional) por variável im_subdir_max_files = 2000 para configurações variáveis Detalhes consulte o arquivo config.py.
Se log_data_to_csv = true , um arquivo Speed-Cam.CSV será criado/atualizado com os dados do evento armazenados no formato CSV (valores separados por vírgula). Isso pode ser importado para uma planilha, um programa de banco de dados, etc para processamento adicional. A versão 8.9 adiciona um banco de dados SQLITE3 para armazenar dados de velocidade. O padrão é dados/speed_cam.db com dados na tabela de velocidade . A configuração do banco de dados pode ser gerenciada no config.py. O banco de dados é criado automaticamente nas configurações do Config.py. Para mais detalhes, consulte como gerenciar o banco de dados SQLITE3
O computador Raspberry Pi e um módulo de câmera RPI instalados ou a câmera USB conectada. Verifique se o hardware está testado e funciona. A maioria dos modelos RPI funcionará bem. Um RPI Quad Core melhorará bastante o desempenho devido ao encadeamento. Recomenda -se uma versão recente do sistema operacional Raspbian.
ou
MS Windows ou UNIX Distro Computer com uma câmera web USB conectada e uma versão recente do Python instalada para obter detalhes, consulte os detalhes do wiki .
Recomenda-se que você atualize para o OpenCV versão 3.xx para facilitar a compilação do OpenCV 3.4.2 da fonte, consulte https://github.com/pageauc/opencv3-setup
Para plataformas de computador Windows ou Unix (não RPI ou Debian), verifique se você possui a versão Python mais atualizada. Para download e instalar Python e OpenCV
As versões mais recentes do Python incluem a versão Numpy e recente OpenCV necessária para executar esse código. Você também precisará de uma webcam USB instalada e funcionando. Para instalar este programa, acesse a página do projeto do GitHub em https://github.com/pageauc/speed-camera, selecione o botão Clone Green ou Download . Os arquivos serão clonados ou fechados para uma pasta de câmera rápida. Você pode executar o código a partir da janela Python Idle (recomendado), desktop da GUI ou janela de terminal de prompt de comando. Nota Bash .sh shell scripts não funcionarão com o Windows, a menos que o suporte especial para o BASH seja instalado para o Windows, por exemplo, http://win-bash.sourceforge.net/ http://www.cygwin.com/ Nota: Eu não os testei.
A câmera de velocidade suporta uma instalação do Docker em
Apple Macintosh por requisitos e instruções do sistema
e
Microsoft Windows 10/11 64 bits com virtualização do BIOS ativada e subsistema do Microsoft Windows para requisitos e instruções do Linux WSL 2 por sistema.
config/config.pyA partir de uma sessão RPI SSH ou terminal de console RPI, execute o seguinte. Permite revisar o código de instalação antes de executar
cd ~
wget https://raw.github.com/pageauc/speed-camera/master/speed-install.sh
more speed-install.sh # You can review code if you wish
chmod +x speed-install.sh
./speed-install.sh # runs install script.
cd ~/speed-camera
./speed-cam.py
Veja como executar a seção Wiki Speed-Cam.py
A câmera de velocidade importante começará no calibrate_on = modo true .
Revise as configurações no arquivo config.py e edite variáveis com o Nano, conforme necessário. Você precisará executar uma calibração para definir o valor correto para config.py cal_obj_px_ e cal_obj_mm_ para direções L2R e R2L. As variáveis são baseadas na distância da câmera para os objetos que estão sendo medidos para velocidade. Consulte o procedimento de calibração para obter mais detalhes.
A variável de rastreamento de movimento config.py chamada track_counter = pode ser ajustada para o seu sistema e versão OpenCV. O padrão é 5, mas um RPI3 Quad Core e a versão mais recente do OpenCV, por exemplo, 3.4.2 pode ser 10-15 ou possivelmente maior. Isso exigirá o monitoramento das mensagens de log detalhadas para ajustar a ajuste.
cd ~/speed-camera
./menubox.sh
Speed-cam do administrador mais fácil usando Menubox.sh (uma vez calibrado e/ou testes completos) 
Veja os dados e tendências da câmera de velocidade do navegador da Web por amostra de capturas de tela. Estes podem ser gerados a partir de Menubox.sh Menu Pick ou executando scripts no Console ou via cronograma Crontab.



Você pode visualizar imagens recentes ou históricas diretamente da página do navegador Speed Web. Estes são criados dinamicamente e aparecem imagens atualizadas. Pressione o botão Atualização da página da web para atualizar o visor 

Parte desse código é baseado em um tutorial do YouTube de Kyle Hounslow usando C aqui https://www.youtube.com/watch?v=x6rpdrzzgjg
Agradecemos a Adrian Rosebrock JroseBr1 em http://www.pyimagesearch.com pelo código da classe Pivideostream disponível no github em https://github.com/jrosebr1/imutils/blob/master/imutils/Video/pivideostream.py
Divirta-se
Claude Pageau
Canal do youtube https://www.youtube.com/user/pageaucp
Github repo https://github.com/pageauc