2011-12-19 21 views
35

inspirado en este hilo How do I find Waldo with Mathematica?¿Cómo encontrar Waldo con R?

nunca he hecho el procesamiento de imágenes en I pero tal vez otras personas que tienen que desee compartir ...

gracias!

+2

El paquete 'EBImage' tiene contrapartidas de al menos algunas de las funciones utilizadas en la respuesta de Mathematica. http://www.bioconductor.org/packages/release/bioc/html/EBImage.html –

+2

'adimpro' también puede ser útil. http://cran.r-project.org/web/packages/adimpro/index.html –

+3

Bueno, aquí están pasando dos cosas. Primero, ¿qué algoritmos de procesamiento de imágenes quieres usar? Los comentaristas anteriores han sugerido algunos; Escribí las transformaciones de Sobel y Hough con bastante facilidad, etc. La otra pregunta es: ¿con qué formato de imagen estás jugando? FITS y TIFF tienen buenos datos de píxeles "en bruto", mientras que otros formatos pueden ser más desordenados. Además, es posible que desee utilizar mejor imageJ (freeware de NIH) –

Respuesta

12

Aquí hay un comienzo, usando el paquete raster. No sé si tendré tiempo para trabajar en el método de correlación cruzada utilizado en la versión de Mathematica de la pregunta, pero una desviación estándar local en las partes rojas de la imagen parece detectar a Waldo en este caso ...

library(raster) 
waldo = stack("/Users/Benjamin/Desktop/DepartmentStore.jpg") 

r = waldo[[1]] - waldo[[2]] - waldo[[3]] 
r[is.na(r)] = 0 
r_mask = Which(r > 0) 
r_masked = r * r_mask 

focalsd = focal(r_masked, w=3, fun=sd) 
plot(focalsd) 
+4

No dude en desestimar esta respuesta si aparece una mejor. Solo esperaba comenzar el flujo de respuestas ... – Benjamin

Cuestiones relacionadas