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


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  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,824 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 4,241 Ú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,716 Último mensaje 12 Septiembre 2013, 18:09 pm
por wolfbcn
Consulta tratamiento de imágenes en python
Programación General
achu08 1 2,189 Último mensaje 7 Mayo 2016, 18:53 pm
por MCKSys Argentina
Transparencia en imágenes python
Scripting
La Hack 4 6,887 Último mensaje 5 Junio 2017, 07:51 am
por La Hack
Programa edición imagenes texto editable « 1 2 »
Software
sunbikers 13 12,459 Último mensaje 30 Septiembre 2024, 16:26 pm
por sunbikers
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines