DHEIVER commited on
Commit
3d85c80
·
verified ·
1 Parent(s): a011408

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +51 -0
app.py ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import cv2
3
+ import numpy as np
4
+ from PIL import Image
5
+
6
+ # Título do aplicativo
7
+ st.title("Analisador de Imagens Médicas com OpenCV")
8
+ st.subheader("Carregue uma imagem médica para análise e melhoria.")
9
+
10
+ # Carregar a imagem
11
+ uploaded_file = st.file_uploader("Envie a imagem médica (formatos aceitos: .jpg, .png, .jpeg)", type=["jpg", "png", "jpeg"])
12
+
13
+ if uploaded_file is not None:
14
+ # Carregar a imagem com OpenCV
15
+ image = Image.open(uploaded_file)
16
+ image = np.array(image)
17
+
18
+ # Mostrar a imagem original
19
+ st.image(image, caption="Imagem Original", use_column_width=True)
20
+
21
+ # Opções de processamento
22
+ st.sidebar.header("Opções de Processamento")
23
+ process_option = st.sidebar.selectbox("Escolha o processamento:",
24
+ ["Conversão para Escala de Cinza",
25
+ "Filtro de Borrão (Blur)",
26
+ "Detecção de Bordas (Canny)",
27
+ "Equalização de Histograma"])
28
+
29
+ if process_option == "Conversão para Escala de Cinza":
30
+ gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
31
+ st.image(gray_image, caption="Imagem em Escala de Cinza", use_column_width=True, channels="GRAY")
32
+
33
+ elif process_option == "Filtro de Borrão (Blur)":
34
+ blur_image = cv2.GaussianBlur(image, (5, 5), 0)
35
+ st.image(blur_image, caption="Imagem com Filtro de Borrão", use_column_width=True)
36
+
37
+ elif process_option == "Detecção de Bordas (Canny)":
38
+ gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
39
+ edges = cv2.Canny(gray_image, 100, 200)
40
+ st.image(edges, caption="Bordas Detectadas", use_column_width=True, channels="GRAY")
41
+
42
+ elif process_option == "Equalização de Histograma":
43
+ gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
44
+ equalized_image = cv2.equalizeHist(gray_image)
45
+ st.image(equalized_image, caption="Imagem com Histograma Equalizado", use_column_width=True, channels="GRAY")
46
+
47
+ # Botão para salvar o resultado
48
+ if st.button("Salvar Imagem Processada"):
49
+ result_path = "imagem_processada.png"
50
+ cv2.imwrite(result_path, eval(process_option.lower().replace(" ", "_") + "_image"))
51
+