EddyGiusepe commited on
Commit
30628ca
1 Parent(s): d9e004e

Minha App com OpenCV e Flask

Browse files
Files changed (6) hide show
  1. Dockerfile +24 -0
  2. README.md +54 -0
  3. docker-compose.yml +34 -0
  4. image.png +0 -0
  5. app.py → main.py +0 -0
  6. requirements.txt +2 -0
Dockerfile ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Usando uma imagem do Python com Tag 3.10.12
2
+ FROM python:3.10.12
3
+
4
+ # Instalando dependências do OpenCV
5
+ RUN apt-get update && apt-get install -y libgl1-mesa-glx libglib2.0-0
6
+
7
+ # Defina o diretório de trabalho como /app:
8
+ WORKDIR /app
9
+
10
+ # Copie o conteúdo do diretório atual para o contêiner em /app:
11
+ COPY . /app
12
+
13
+ # Instale todos os pacotes necessários especificados em requisitos.txt:
14
+ RUN pip install --no-cache-dir -r requirements.txt
15
+ # RUN pip install --no-cache-dir Flask==3.0.1 opencv-python==4.9.0.80
16
+
17
+ # Disponibilize a porta 5000 para o mundo fora deste contêiner:
18
+ EXPOSE 5000
19
+
20
+ # Definir variável de ambiente:
21
+ ENV FLASK_APP=main.py
22
+
23
+ # Execute app.py quando o contêiner for iniciado:
24
+ CMD ["flask", "run", "--host=0.0.0.0"]
README.md CHANGED
@@ -9,3 +9,57 @@ license: apache-2.0
9
  ---
10
 
11
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  ---
10
 
11
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
12
+
13
+
14
+ <h1 align="center"><font color="red">OpenCV: App para reconhecimento de Face e Sorriso </font></h1>
15
+
16
+ #### <font color="yellow">Data Scientist.: Dr. Eddy Giusepe Chirinos Isidro</font>
17
+
18
+
19
+ ![Alt text](image.png)
20
+
21
+
22
+
23
+
24
+ Neste pequeno projeto usamos `OpenCV` (os modelos pré-treinados) para reconhecer faces e sorrisos em Imagens estáticas.
25
+
26
+
27
+ # <font color="pink">Usando Dockerfile</font>
28
+
29
+ Depois de testar nosso script python, `main.py`, de reconhecimento facial e sorriso e ver que ele funciona muito bem, agora, vamos a Dockerizar dita aplicação. Para isso devemos seguir os seguintes comandos:
30
+
31
+ ```
32
+ $ docker build -t flask_opencv:1.0 .
33
+
34
+ $ docker run -d -p 5000:5000 --name flask_opencv_container flask_opencv:1.0 (Em segundo Plano)
35
+
36
+ ou
37
+
38
+ $ docker run -p 5000:5000 --name flask_opencv_container flask_opencv:1.0
39
+ ```
40
+
41
+ <font color="orange">Depois de executar os comandando anteriores e observar que a sua aplicação funciona ... podemos dizer que ela está, agora, `Dockerizada` 🥳</font>
42
+
43
+
44
+ # <font color="pink">Usando docker-compose</font>
45
+
46
+ Agora, vamos a criar um arquivo `docker-compose.yml`. Este arquivo vai orquestrar a conteinerização de vários contêineres do Docker. Para dito objetivo devemos executar, no terminal, os seguintes comandos:
47
+ ```
48
+ $ docker-compose build
49
+
50
+ $ docker-compose up -d | $ docker-compose up
51
+
52
+ $ docker-compose down
53
+ ```
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+ <font color="red">Thanks God!</font>
docker-compose.yml ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: '3'
2
+ services:
3
+ flask_opencv:
4
+ build:
5
+ context: Dockerfile
6
+ image: image_flask_opencv
7
+ ports:
8
+ - "5000:5000"
9
+ environment:
10
+ - FLASK_APP=main.py
11
+ restart: always
12
+
13
+
14
+ # Podemos usar REDES, se tivermos vários contêineres que precisam se comunicar entre si e com
15
+ # o mundo exterior.
16
+
17
+ # version: '3'
18
+ # services:
19
+ # flask_opencv:
20
+ # build:
21
+ # context: Dockerfile
22
+ # image: image_flask_opencv
23
+ # ports:
24
+ # - "5000:5000"
25
+ # environment:
26
+ # - FLASK_APP=main.py
27
+ # restart: always
28
+ # networks:
29
+ # - minha_rede
30
+
31
+
32
+ # networks:
33
+ # minha_rede:
34
+ # driver: bridge
image.png ADDED
app.py → main.py RENAMED
File without changes
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Flask==3.0.1
2
+ opencv-python==4.9.0.80