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

 

 


Tema destacado: Tutorial básico de Quickjs


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