Necesito convertir series de imágenes dibujadas como letras blancas de fondo negro a imágenes donde el blanco y el negro están invertidos (como negativos). ¿Cómo puedo lograr esto usando PIL?Cómo invertir los colores de la imagen con PIL (Python-Imaging)?
30
A
Respuesta
47
Pruebe lo siguiente de los documentos: http://effbot.org/imagingbook/imageops.htm
from PIL import Image
import PIL.ImageOps
image = Image.open('your_image.png')
inverted_image = PIL.ImageOps.invert(image)
inverted_image.save('new_name.png')
Nota: "El módulo ImageOps contiene una serie de operaciones de procesamiento de imágenes 'ready-made' Este módulo es algo experimental, y la mayoría de los operadores sólo trabajar. Imágenes L y RGB ".
15
Si la imagen es transparente RGBA esta fallará ... Esto debería funcionar sin embargo:
from PIL import Image
import PIL.ImageOps
image = Image.open('your_image.png')
if image.mode == 'RGBA':
r,g,b,a = image.split()
rgb_image = Image.merge('RGB', (r,g,b))
inverted_image = PIL.ImageOps.invert(rgb_image)
r2,g2,b2 = inverted_image.split()
final_transparent_image = Image.merge('RGBA', (r2,g2,b2,a))
final_transparent_image.save('new_file.png')
else:
inverted_image = PIL.ImageOps.invert(image)
inverted_image.save('new_name.png')
8
para cualquiera que trabaje con una imagen en el modo de "1" (es decir, los píxeles de 1 bit, blanco y negro , almacenado con un píxel por byte - see docs), debe convertirlo al modo "L" antes de llamar al PIL.ImageOps.invert
.
Por lo tanto:
im = im.convert('L')
im = ImageOps.invert(im)
im = im.convert('1')
Cuestiones relacionadas
- 1. Cómo reducir la paleta de colores con PIL
- 2. Invertir colores opuestos
- 3. Invertir mapas de bits colores
- 4. cambio de tamaño de imágenes con colores PIL cambia drásticamente
- 5. Invertir mapa de colores en matplotlib
- 6. PIL para llenar el espacio vacío de imagen con colores cercanos (aka inpainting)
- 7. Python: imagen invertida con fondo transparente (PIL, Gimp, ...)
- 8. Imagen JPEG con colores incorrectos
- 9. Copiando región de imagen triangular con PIL
- 10. Cómo invertir textualmente colores de pantalla en Linux
- 11. Fusión de fondo con imagen transparente en PIL
- 12. Cómo invertir textualmente colores de pantalla en Mac
- 13. NumPy, PIL agregando una imagen
- 14. extrayendo colores de una imagen
- 15. Recortar la imagen usando PIL en python
- 16. Convertir PyQt en imagen PIL
- 17. PIL modo de imagen "P" -> "RGBA"
- 18. Contorno de imagen usando python/PIL
- 19. cómo invertir la imagen del mapa de color a valores escalares
- 20. Colores de imagen cambiantes dinámicamente
- 21. Python PIL: cómo escribir una imagen PNG en la cadena
- 22. Imagen SVG con colores CMYK: ¿es posible?
- 23. ¿Cómo edito los ejes de una imagen en MATLAB para invertir la dirección?
- 24. Cargue un lienzo html5 en una imagen PIL con Django
- 25. ¿Cómo se compone una imagen en otra imagen con PIL en Python?
- 26. Cómo reducir el tamaño del archivo de imagen usando PIL
- 27. Python PIL, imagen. Error después de image.load()
- 28. ¿Cómo visualizo una matriz con los colores y valores mostrados?
- 29. Recorte automático de imágenes con PIL
- 30. PIL Image.resize() no cambiar el tamaño de la imagen
Oh, parece que he perdido ese módulo. Gracias. – bialix