2012-02-16 42 views

Respuesta

25

Algo como esto debería funcionar.

from PIL import Image, ImageFilter 

image = Image.open('your_image.png') 
image = image.filter(ImageFilter.FIND_EDGES) 
image.save('new_name.png') 

Si eso no te da el resultado que busca a continuación, intenta implementar o bien la detección Prewitt borde, detección de bordes de Sobel o la detección de bordes de Canny usando PIL y Python y otras bibliotecas Relacionados question y la siguiente example .

Si usted está tratando de hacer la detección de partículas/análisis en lugar de sólo el borde de detección, puede probar a usar py4ij para llamar al método ImageJ se vincula a dar que espera el mismo resultado, o tratar de otra biblioteca Análisis de partículas Python EMAN alternativamente se puede escribir un algoritmo de detección de partículas usando PIL, SciPy y NumPy.

+0

Hola, Las fotos están en color e incluso cuando las escamas en gris y ejecuto los filtros, no funciona bien ya que solo quiero el contorno de la forma de la manzana, ¿es posible? Es algo así como el método de la imagen J descrito en rsbweb.nih.gov/ij/docs/pdfs/examples.pdf. Gracias – user1212200

+1

@ Appleman1234, muchas gracias por hacer referencia a mi publicación. Oye, puedes importar los módulos de detección de bordes astutos y ejecutarlos para encontrar los bordes solos. El resultado será un ndarray numpy, pero puede convertirlo en una imagen PIL usando im = Image.fromarray (imarray) – Vishwanath

+0

@Appleman ¿es posible dividir la imagen en componentes basados ​​en FIND_EDGES? – user1658296

4

Si el objeto y el fondo han bastante bien contrastar

from PIL import Image 
image = Image.open(your_image_file) 
mask=image.convert("L") 
th=150 # the value has to be adjusted for an image of interest 
mask = mask.point(lambda i: i < th and 255) 
mask.save(file_where_to_save_result) 

si es mayor contraste en una (de 3 colores), es posible dividir la imagen en bandas en lugar de convertirlo en escala de grises.

si una imagen o fondo es bastante complicado, se requerirá un procesamiento más sofisticado

Cuestiones relacionadas