elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Edición de imágenes con Python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Edición de imágenes con Python  (Leído 2,308 veces)
xavieeee

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Edición de imágenes con Python
« en: 18 Julio 2015, 02:54 am »

Buenas,

Estoy intentando crear una aplicación para editar imágenes con Python.

Esto es lo que quiero hacer:
1.- Crear una imagen con  un screenshot #ok
2.- Convertir la imagen a blanco y negro #ok
3.- Borrar las filas que sean enteras  negras #ok
4.- Borrar las columnas que sean enteras negras

No entiendo la lógica del punto 3, y no soy capaz de editar  la función que borra las filas para que borre las columnas.

Espero que podáis ayudarme

Un saludo,


Código
  1. import pyscreenshot as ImageGrab
  2. from itertools import izip
  3. from PIL import Image
  4. import time
  5.  
  6. #Screenshot y guarda como .png
  7.  
  8. im1=ImageGrab.grab(bbox=(495,198,511,209))
  9. im1.save("imagen.png","png")
  10.  
  11. #Convertir imagen a blanco y negro
  12. col = Image.open("imagen.png")
  13. gray = col.convert('L')
  14. bw = gray.point(lambda x: 0 if x<128 else 255, '1')
  15. bw.save("imagenbw.png")
  16.  
  17. #Borrar las filas que sean completamente negras
  18. def find_rows_with_color(pixels, width, height, color):
  19.    rows_found=[]
  20.    for y in xrange(height):
  21.        for x in xrange(width):
  22.            if pixels[x, y] != color:
  23.                break
  24.        else:
  25.            rows_found.append(y)
  26.    return rows_found
  27.  
  28. rold_im = Image.open("imagenbw.png")
  29. if old_im.mode != 'RGB':
  30.    old_im = old_im.convert('RGB')
  31. pixels = old_im.load()
  32. width, height = old_im.size[0], old_im.size[1]
  33. rows_to_remove = find_rows_with_color(pixels, width, height, (0, 0, 0)) #Remove black rows
  34. new_im = Image.new('RGB', (width, height - len(rows_to_remove)))
  35. pixels_new = new_im.load()
  36. rows_removed = 0
  37. for y in xrange(old_im.size[1]):
  38.    if y not in rows_to_remove:
  39.        for x in xrange(new_im.size[0]):
  40.            pixels_new[x, y - rows_removed] = pixels[x, y]
  41.    else:
  42.        rows_removed += 1
  43. new_im.save("imagennew.png")
  44.  


« Última modificación: 18 Julio 2015, 14:50 pm por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con edicion de imagenes en VB.net
.NET (C#, VB.NET, ASP)
jess_glez 3 3,691 Último mensaje 29 Mayo 2012, 23:41 pm
por jess_glez
La edición de imágenes en Google+ con Snapseed ha llegado a Chrome
Noticias
wolfbcn 0 1,204 Último mensaje 12 Septiembre 2013, 18:09 pm
por wolfbcn
Consulta tratamiento de imágenes en python
Programación General
achu08 1 1,671 Último mensaje 7 Mayo 2016, 18:53 pm
por MCKSys Argentina
Transparencia en imágenes python
Scripting
La Hack 4 6,109 Último mensaje 5 Junio 2017, 07:51 am
por La Hack
Duda en python screenshot con diferentes imágenes
Scripting
e 4 2,312 Último mensaje 13 Marzo 2018, 20:34 pm
por e
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines