Spaces:
Build error
Build error
| import re | |
| # Definir nuestras funciones auxiliares para verificación de imágenes | |
| helper_functions = ''' | |
| # Función auxiliar para verificar si una imagen es válida antes de redimensionar | |
| def is_valid_image(img): | |
| if img is None: | |
| return False | |
| try: | |
| # Verificar que la imagen tenga dimensiones válidas y datos | |
| return img.size > 0 and len(img.shape) >= 2 and img.shape[0] > 0 and img.shape[1] > 0 | |
| except: | |
| return False | |
| # Función auxiliar para redimensionar de forma segura | |
| def safe_resize(img, target_size): | |
| if is_valid_image(img): | |
| try: | |
| return cv2.resize(img, target_size) | |
| except Exception as e: | |
| print(f"Error al redimensionar: {str(e)}") | |
| return None | |
| return None | |
| ''' | |
| # Modificar código para usar funciones seguras | |
| with open('streamlit_app.py', 'r', encoding='utf-8') as file: | |
| content = file.read() | |
| # Buscar la definición de la función stop_feature_camera | |
| if 'def stop_feature_camera' in content: | |
| # Añadir nuestras funciones auxiliares después de esta función | |
| content = content.replace( | |
| 'def stop_feature_camera():', | |
| 'def stop_feature_camera():' + helper_functions | |
| ) | |
| # Buscar y reemplazar los usos de cv2.resize | |
| content = content.replace( | |
| 'thumbnail = cv2.resize(info[\'image\'], (w//4, h//4))', | |
| 'thumbnail = safe_resize(info[\'image\'], (w//4, h//4))\n if thumbnail is not None' | |
| ) | |
| # También reemplazar otros posibles usos de resize en el procesamiento de video | |
| content = content.replace( | |
| 'small_img = cv2.resize(img, (int(w * scale_factor), int(h * scale_factor)))', | |
| 'small_img = safe_resize(img, (int(w * scale_factor), int(h * scale_factor)))\n if small_img is None:\n return frame' | |
| ) | |
| # Escribir el contenido modificado al archivo | |
| with open('streamlit_app.py', 'w', encoding='utf-8') as file: | |
| file.write(content) | |
| print("Archivo actualizado correctamente con verificaciones de imágenes seguras.") |