Processamento de Imagem de CFTV 2.0

 

Informações pertinentes ao processamento de imagem

import sys
import numpy as np
import cv2
import MySQLdb

def conexao():
 Banco="banco"
 User="usuario"
 Passwrd="senha"
 Host="ip"
 resultado = 0

try:
 resultado = MySQLdb.connect(db=Banco,user=User, passwd=Passwrd, host=Host)
 except:
 print("Erro ao conectar no Banco de dados")
 resultado = -1
 return resultado



def GravaReg(arquivo,x,y,a,h):
 con = conexao()
 cursor = con.cursor()
 sql= "insert into eventoCam (arquivo,x,y,a,h) values ('%s',%d,%d,%d,%d)" %(arquivo,x,y,a,h)
 print(sql)
 try:
 cursor.execute(sql)
 con.commit()
 print("Registro Gravado")
 except MySQLdb as erro:
 print("Erro ao Executar SQL", erro)
 
#Pega o nome do arquivo a ser analisado
Arquivo = sys.argv[1]

# load an color image in grayscale
img = cv2.imread(Arquivo)
print("Carregado:%s",Arquivo)

classificador = cv2.CascadeClassifier("/projetos/python/cv/face.xml")



imagemCinza = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

facesDetectadas = classificador.detectMultiScale(imagemCinza, scaleFactor=1.5, minSize=(100,100))

for (x,y,l, a ) in facesDetectadas:
 print("Face:",x,y)
 GravaReg(Arquivo,x,y,l,a)



cv2.destroyAllWindows()
print("Finalizou")

Arquivo de script do Motion, bash para processamento de imagem

#!/bin/bash#!/bin/bash

quebrar() {
 local filepath="$1" local filename=$(basename "$filepath") 
 local ext=$(echo "$filename"| awk -F '.' '{ if (NF==2) {print $NF} else if ( NF>2) {print $(NF-1)"."$NF} }') 
 local dir=$(echo "$filepath" | awk -F '/' '{ print substr($0, 0 , length($0)-length($NF)-1) }') 
 echo -e "$dir""\t""$filename""\t""$ext"
}

ret="$(quebrar "$1")"
echo "$diretorio: " "$(echo "$ret" | cut -f1)"
diretorio="$(echo "$ret"|cut -f1)"
filename="$(echo "$ret"| cut -f2)"
somentefilename="$(echo "$filename"| cut -d. -f1)"
extensao="$(echo "$filename"| cut -d. -f2)"
novoarquivo="$(echo "$1"| cut -d. -f1)"
novoarquivo="$(echo "$novoarquivo"".mp4")"
#echo "Desmembramento do arquivo"
#echo $diretorio
#echo $somentefilename
#echo $extensao
#echo $filenameecho $novoarquivo

#ffmpeg  -i $1 -c:v libx264 -preset ultrafast $novoarquivo
python /projetos/python/cv/load.py $novoarquivo

rm -f $1

 

Instalação e Configuração de DLNA em Linux

Olá,

 

Iremos realizar agora a configuração do minidlna em um servidor Linux.

Bom para tanto, precisaremos das seguintes pré req:

  • Servidor Linux (debian ou equivalente) – Para demais alguns passos podem variar.
  • Raspberry PI ou Desktop com no mínimo HD de 1Tb para Filmes.
  • Algum conhecimento em linux.

Procedimentos de Instalação:

  1. Entre via SSH no servidor Linux, com usuário administrador (root)
  2. Através de interface texto, digite os seguintes comandos:
  3. apt-get update
  4. apt-get upgrade
  5. apt-get install minidlna
  6. Vá ao diretório /etc/
  7. Com um editor de sua preferencia, edite o arquivo minidlna.conf, recomendo o vim minidlna.conf
  8. Crie os parâmetros de configuração, conforme segue:

Media_dir – Cria um repositório de medias (vídeos, fotos, áudios), sendo v para vídeos, A para audio, P para fotos, e PV fotos e vídeos simultâneos.

Sintaxe:

media_dir=(A,P,V,PV),<path>

friendly_name – Cria um nome do servidor, que será apresentado em sua tv.

Sintaxe:

friendly_name=<nome do Servidor>

9. Crie as pastas no servidor que configurou em seu media_dir.

Para criar as pastas use o comando mkdir <path>

10. Atribua permissões para a pasta, como você esta como root, possivelmente seu servidor não irá enxergar.

Para tanto, execute na pasta anterior o seguinte comando:

chmod 755 -R <path>

Onde path é o caminho da sua pasta, exemplo /media/disk/Movies

11. Reinicie o serviço com  service minidlna restart ou reboot o servidor 😉

Seu serviço estará criado e não necessitará de nenhuma configuração adicional.

 

Motion AVI 2 MP4

Português:

O objetivo destes scripts são de permitir interagir de forma facil e prática a partir do reconhecimento de movimento do programa do linux motion.

Os scripts são dois:

analisa_img.sh

Executa um script, permitindo a programação de outros comandos associados ao reconhecimento de imagem e/ou analise e filtragem da imagem capturada.

analisa_avi.sh

Executa um script, permitindo a progração de outros comandos associados a conversão para formato MP4, permitindo assim a visualização através do browser.

Este script pode ser modificado a medida de sua necessidade, peço apenas que no uso, envie um email para marcelomaurinmartins@gmail.com, informando a finalidade. Justamente para que eu veja os frutos de 3 dias de trabalho, realmente auxiliaram alguem em algum lugar do mundo 😉

Complemento: 

Para o perfeito funcionamento deste script é necessário instalar préviamente os seguintes pacotes:

ffmpeg – realiza a conversão do arquivo avi para mp4

sudo apt-get install ffmpeg

Instalação

  1. Deve-se criar as pastas /projetos/sosconsulta/linux/ eu recomendo mudar o caminho da pasta, porem será necessário mudar toda a referencia nos scripts. :-0

2. Copie a pasta analisa_img para o caminho indicado no passo 1

Entre na pasta; cd /projetos/sosconsulta/linux/analisa_img/

3. Rode o Makefile; make all

Este procedimento, irá instalar os scripts na pasta /usr/local/bin

4. Configure o arquivo motion.conf, editando em /etc/motion, vim motion.conf

Altere o arquivo, incluindo:

on_movie_end /usr/local/bin/analisa_avi.sh %f

caso tenha threads.conf, faça nas mesmas, se houver necessidade.

 

Git:

https://github.com/MarceloMaurin/motion_avi_mp4/blob/master/analisa_img/analisa_avi.sh

English

The purpose of these scripts is to allow easy and practical interaction from the motion recognition of the linux motion program.

The scripts are two:

analisa_img.sh

Performs a script, allowing programming of other commands associated with image recognition and / or analysis and filtering of the captured image.

analisa_avi.sh

It executes a script, allowing the programming of other commands associated with the conversion to MP4 format, thus allowing the visualization through the browser.

This script can be modified to suit your needs, just ask that in use, send an email to marcelomaurinmartins@gmail.com, stating the purpose. Just so I can see the fruits of 3 days of work, really helped someone somewhere in the world 😉

Complement:

For the perfect operation of this script it is necessary to install the following packages:

ffmpeg – performs conversion from avi file to mp4

sudo apt-get install ffmpeg

 

Installation

1. You should create the folders / projects / sosconsulta / linux / I recommend changing the folder path, however it will be necessary to change the entire reference in the scripts.  😮

2. Copy the analisa_img folder to the path indicated in step 1

Enter the folder; cd / projects / sosconsulta / linux / analisa_img /

3. Run the Makefile; make all

This will install the scripts in the / usr / local / bin folder

4. Configure the motion.conf file by editing in / etc / motion, vim motion.conf

Change the file, including:

on_movie_end /usr/local/bin/analisa_avi.sh% f

if it has threads.conf, do it on them, if need be.

 

Git:

https://github.com/MarceloMaurin/motion_avi_mp4/blob/master/analisa_img/analisa_avi.sh