2011-12-19 7 views
35

Zainspirowany tym wątku How do I find Waldo with Mathematica?Jak znaleźć Waldo z R?

nigdy nie zrobili przetwarzania obrazu w R, ale może inni ludzie, którzy chcą podzielić się ...

dzięki!

+2

Pakiet 'EBImage' ma odpowiedniki przynajmniej niektórych funkcji użytych w odpowiedzi Mathematica. http://www.bioconductor.org/packages/release/bioc/html/EBImage.html –

+2

'adimpro' może być również użyteczne. http://cran.r-project.org/web/packages/adimpro/index.html –

+3

Cóż, dzieje się tu dwie rzeczy. Po pierwsze, jakich algorytmów przetwarzania obrazu chcesz użyć? Poprzedni komentujący sugerowali niektóre; Napisałem, że Sobel i Hough bardzo łatwo się transformują itd. Drugie pytanie brzmi: z jakiego formatu obrazu grasz? FITS i TIFF mają ładne "surowe" dane pikseli, podczas gdy inne formaty mogą być bardziej nieuporządkowane. Poza tym możesz chcieć użyć imageJ better (freeware from NIH): –

Odpowiedz

12

Oto początek, przy użyciu pakietu raster. Nie wiem, czy będę miał czas pracować nad metodą korelacji krzyżowej stosowaną w wersji Mathematica, ale lokalne odchylenie standardowe na czerwonych częściach obrazu wydaje się wskazywać na Waldo w tym przypadku ...

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

Nie wahaj się odrzucić tę odpowiedź, jeśli pojawi się lepszy. Miałem nadzieję, że zacznę przepływ odpowiedzi ... – Benjamin

Powiązane problemy