rmayormartins
commited on
Commit
·
228a66b
1
Parent(s):
d209a4c
Subindo arquivos113311
Browse files
app.py
CHANGED
@@ -39,6 +39,20 @@ def calculate_glcm_contrast(image):
|
|
39 |
|
40 |
return contrast
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
# Função para descrever imagem usando BLIP
|
43 |
def describe_image(image):
|
44 |
processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
|
@@ -66,15 +80,18 @@ def process_image(image):
|
|
66 |
# Análise de cor (média RGB)
|
67 |
mean_rgb = np.mean(np.array(image), axis=(0, 1))
|
68 |
|
69 |
-
# Análise de textura
|
70 |
-
|
71 |
|
72 |
# Descrição da imagem
|
73 |
description = describe_image(image)
|
74 |
translated_description = translate_description(description)
|
75 |
|
|
|
|
|
|
|
76 |
# Texto para voz
|
77 |
-
tts = gTTS(text=
|
78 |
attempts = 0
|
79 |
while attempts < 5:
|
80 |
try:
|
@@ -89,7 +106,7 @@ def process_image(image):
|
|
89 |
raise e
|
90 |
|
91 |
# Retornar imagem com detecções, descrição e áudio
|
92 |
-
return Image.fromarray(detected_image),
|
93 |
|
94 |
# Carregar imagem de exemplo diretamente do código
|
95 |
example_image_path = "example1.JPG"
|
|
|
39 |
|
40 |
return contrast
|
41 |
|
42 |
+
# Função para analisar a textura e a temperatura de cor
|
43 |
+
def analyze_image_properties(image):
|
44 |
+
# Análise de cor (média RGB)
|
45 |
+
image_rgb = cv2.cvtColor(np.array(image), cv2.COLOR_BGR2RGB)
|
46 |
+
avg_color_per_row = np.average(image_rgb, axis=0)
|
47 |
+
avg_color = np.average(avg_color_per_row, axis=0)
|
48 |
+
temperature = 'fria' if np.mean(avg_color) < 128 else 'quente'
|
49 |
+
|
50 |
+
# Análise de textura
|
51 |
+
texture_contrast = calculate_glcm_contrast(image)
|
52 |
+
texture = 'lisa' se texture_contrast < 100 else 'texturizada'
|
53 |
+
|
54 |
+
return temperature, texture
|
55 |
+
|
56 |
# Função para descrever imagem usando BLIP
|
57 |
def describe_image(image):
|
58 |
processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
|
|
|
80 |
# Análise de cor (média RGB)
|
81 |
mean_rgb = np.mean(np.array(image), axis=(0, 1))
|
82 |
|
83 |
+
# Análise de textura e temperatura de cor
|
84 |
+
temperature, texture = analyze_image_properties(image)
|
85 |
|
86 |
# Descrição da imagem
|
87 |
description = describe_image(image)
|
88 |
translated_description = translate_description(description)
|
89 |
|
90 |
+
# Construir a descrição final
|
91 |
+
final_description = f"{translated_description}. A textura é {texture} e a temperatura de cor é {temperature}."
|
92 |
+
|
93 |
# Texto para voz
|
94 |
+
tts = gTTS(text=final_description, lang='pt')
|
95 |
attempts = 0
|
96 |
while attempts < 5:
|
97 |
try:
|
|
|
106 |
raise e
|
107 |
|
108 |
# Retornar imagem com detecções, descrição e áudio
|
109 |
+
return Image.fromarray(detected_image), final_description, "output.mp3"
|
110 |
|
111 |
# Carregar imagem de exemplo diretamente do código
|
112 |
example_image_path = "example1.JPG"
|