Как мне найти Уолдо с Mathematica?
Это беспокоило меня на выходных: какой хороший способ решить этиГде Уолдо? [«Уолли» за пределами Северной Америки] головоломки с использованием Mathematica (обработка изображений и другие функции)?
Вот что у меня есть, функция, которая немного уменьшает визуальную сложность, затемняя некоторые не красные цвета:
whereIsWaldo[url_] := Module[{waldo, waldo2, waldoMask},
waldo = Import[url];
waldo2 = Image[ImageData[
waldo] /. {{r_, g_, b_} /;
Not[r > .7 && g < .3 && b < .3] :> {0, 0,
0}, {r_, g_, b_} /; (r > .7 && g < .3 && b < .3) :> {1, 1,
1}}];
waldoMask = Closing[waldo2, 4];
ImageCompose[waldo, {waldoMask, .5}]
]
И пример URL, где это «работает»:
whereIsWaldo["http://www.findwaldo.com/fankit/graphics/IntlManOfLiterature/Scenes/DepartmentStore.jpg"]
(Уолдо у кассы):