jarondon82/ComputerVisionProject
1
1import re2 3# Definir nuestras funciones auxiliares para verificación de imágenes4helper_functions = '''5 # Función auxiliar para verificar si una imagen es válida antes de redimensionar6 def is_valid_image(img):7 if img is None:8 return False9 try:10 # Verificar que la imagen tenga dimensiones válidas y datos11 return img.size > 0 and len(img.shape) >= 2 and img.shape[0] > 0 and img.shape[1] > 012 except:13 return False14 15 # Función auxiliar para redimensionar de forma segura16 def safe_resize(img, target_size):17 if is_valid_image(img):18 try:19 return cv2.resize(img, target_size)20 except Exception as e:21 print(f"Error al redimensionar: {str(e)}")22 return None23 return None24'''25 26# Modificar código para usar funciones seguras27with open('streamlit_app.py', 'r', encoding='utf-8') as file:28 content = file.read()29 30# Buscar la definición de la función stop_feature_camera31if 'def stop_feature_camera' in content:32 # Añadir nuestras funciones auxiliares después de esta función33 content = content.replace(34 'def stop_feature_camera():',35 'def stop_feature_camera():' + helper_functions36 )37 38# Buscar y reemplazar los usos de cv2.resize39content = content.replace(40 'thumbnail = cv2.resize(info[\'image\'], (w//4, h//4))',41 'thumbnail = safe_resize(info[\'image\'], (w//4, h//4))\n if thumbnail is not None'42)43 44# También reemplazar otros posibles usos de resize en el procesamiento de video45content = content.replace(46 'small_img = cv2.resize(img, (int(w * scale_factor), int(h * scale_factor)))',47 'small_img = safe_resize(img, (int(w * scale_factor), int(h * scale_factor)))\n if small_img is None:\n return frame'48)49 50# Escribir el contenido modificado al archivo51with open('streamlit_app.py', 'w', encoding='utf-8') as file:52 file.write(content)53 54print("Archivo actualizado correctamente con verificaciones de imágenes seguras.") 