Поиск цветов в изображениях: может ли это сделать Nearest?

Я пытаюсь найти способ ищите цвета в изображениях. Вот упрощенный пример:

tree = ExampleData[{"TestImage", "Tree"}]

tree image from Mathematica's example data set

Я вижу, что там синий, поэтому мне нужно местоположение xy где-нибудь в этом море пикселей. Скажем, я ищу определенный оттенок синего, для которого я могу предоставить некоторые приблизительные значения RGB для:

Manipulate[Graphics[{RGBColor[r, g, b], Disk[]}], {r, 0, 1}, {g, 0, 1}, {b, 0, 1}] 

simple colour mixer

, и теперь я хочу найти координаты некоторых пикселей, которые имеют это значение или достаточно близко. Ближайший мог бы это сделать:

Nearest[ImageData[tree], {0.32, 0.65, .8}]

но нет - он «генерирует очень большой результат» ...

Это обратное тому, что делается:

ImageValue[tree, {90, 90}]

что нормально, если У меня уже есть цифры, или я могу щелкнуть по изображению. Как только местоположение нужных мне цветов известно, я могу передать это функциям, которым требуются «маркеры», например RegionBinarize .

Я считаю, что для этого должна быть функция Mathematica, но пока не могу ее найти ...

7
задан cormullion 18 December 2011 в 16:29
поделиться