rmayormartins commited on
Commit
228a66b
·
1 Parent(s): d209a4c

Subindo arquivos113311

Browse files
Files changed (1) hide show
  1. app.py +21 -4
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
- texture_contrast = calculate_glcm_contrast(image)
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=translated_description, lang='pt')
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), translated_description, "output.mp3"
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"