¿Se puede utilizar Python para procesar imágenes como esta?
PythonWare proporciona un kit de herramientas gratuito de procesamiento de imágenes de Python PIL (Biblioteca de imágenes de Python), que proporciona funciones básicas de procesamiento de imágenes, como:
Cambiar tamaño de imagen, rotar imágenes, formato de imagen conversión, conversión de espacio de gama de colores, mejora de imágenes, procesamiento de histogramas, interpolación y filtrado, etc. Aunque no es adecuado implementar algoritmos complejos de procesamiento de imágenes similares a los de MATLAB en este paquete de software, las capacidades de rápido desarrollo y las características orientadas a objetos de Python lo hacen muy adecuado para el desarrollo de prototipos.
En PIL, cualquier imagen está representada por un objeto de imagen, una clase exportada por el módulo del mismo nombre. Por lo tanto, la forma más simple es la siguiente:
Importar imagen img = Image.open(" dip.jpg ")
Nota: La imagen en la primera línea es el nombre del módulo; la segunda línea El img es un objeto de imagen;
La clase de imagen se define en el módulo de imagen. Recuerde no confundir el módulo de imagen y la clase de imagen. Ahora podemos realizar varias operaciones en img, todas las operaciones en img.
Esta operación eventualmente se verá reflejada en la imagen dip.img.
PIL proporciona una gran cantidad de módulos funcionales: imágenes, renderizado de imágenes, mejora de imágenes, archivos de imágenes, etc. Los módulos más utilizados son
Image, Image, ImageDraw e ImageEnhance son tres módulos. Permítanme presentarlos por separado. Para el uso de otros módulos, consulte la documentación. El paquete PIL y la documentación asociada están disponibles en el sitio web de PythonWare en www.Pythonware.com.
Módulo de imagen:
El módulo de imagen es el módulo más básico de PIL. La clase de imagen se deriva de este módulo. Un objeto de instancia de clase de imagen corresponde a una imagen. Al mismo tiempo, el módulo de imagen también proporciona muchas funciones útiles.
(1) Abra el archivo:
Importar imagen img = Image.open(" dip.jpg ")
Esto devolverá un objeto de instancia de clase Imagen , Todas las operaciones posteriores se realizan en el img.
(2) Ajustar el tamaño del archivo:
Importar imagen img = Imagen abierta(" img . jpg ")new _ img = img . (128, 128), imagen. bilineal) new_img.save("new_img.jpg")
El tamaño de la imagen original es 256x256. Ahora el tamaño guardado de new_img.jpg es 128x128.
Así de simple. Cabe señalar que las imágenes. Bilineal especifica la interpolación bilineal de píxeles.
En el procesamiento por lotes o tareas simples de procesamiento de imágenes de Python, usar una combinación de Python y PIL (Biblioteca de imágenes de Python) para completar las tareas de procesamiento de imágenes es una buena opción. Imagine una tarea que requiera aumentar el contraste de todas las imágenes en una carpeta en un factor de 2. Sería fácil hacerlo en Python. Por supuesto, tenemos que admitir que las funciones de procesamiento de imágenes de Python todavía son relativamente débiles y, obviamente, no son adecuadas para aplicaciones más complejas como el filtrado y la extracción de características. Mi opinión personal es que cuando quieras implementar estos algoritmos "avanzados", deja que MATLAB lo haga. Sin embargo, si se enfrenta simplemente a una tarea común de procesamiento de imágenes que no requiere algoritmos complejos, entonces el procesamiento de imágenes de Python debería ser su mejor amigo.