Задача C - определить рисунок «траектория» внутри изображения карты - PullRequest
1 голос
/ 03 июля 2011

У меня есть физическая карта (реальный мир), например, карта маленького города. Линия «пути» закрашена на карте, подумайте об этом, как «вы здесь. Вот как добраться до железнодорожной станции» :) Теперь предположим, что я могу получить изображение этого сценария (аналогично, исходя из фотографии). Изображение, которое выглядит как:

Map path example

Моя цель - не легкий выход!

Я хочу ПОЛУЧИТЬ путь ИЗОБРАЖЕНИЯ, то есть разделить два слоя.

Есть ли способ извлечь эти красные метки из изображения?

Может быть, используя CoreGraphics? Может быть, внешняя библиотека? Это не объективный вопрос, связанный с Си, но я работаю над Apple iOS.

Я уже работал с чем-то похожим, распознавание лиц. Теперь я ожидаю ответ: «Что вы подразумеваете под PATH?» Ну, я действительно не знаю, может быть, линия (см. Изображение выше) совершенно другого цвета, чем «основные» цвета на заднем плане. Давайте поговорим об этом.

Ответы [ 2 ]

1 голос
/ 04 июля 2011

Если вы можете использовать OpenCV, тогда это станет проще.Вот общий метод:

  1. Разделение изображения на оттенок, насыщенность и изменение (цветовое пространство HSV)

    Вот код OpenCV:

    // ВычислитьHSV-изображение и разделение на цвета(img), 8, 1);

    IplImage * s_plane = cvCreateImage (cvGetSize (img), 8, 1);

    IplImage * v_plane = cvCreateImage (cvGetSize (img), 8,1);

    cvCvtPixToPlane (hsv, h_plane, s_plane, v_plane, 0);

  2. Работать только с изображением Hue (h_plane), так как оно дает только оттенок безлюбое изменение в значении для более светлого или более темного оттенка того же цвета

  3. Проверьте, какие пиксели имеют красный оттенок (я думаю, красный для 0 HSV, но, пожалуйста, проверьте значения OpenCV)

  4. Скопируйте эти пиксели в отдельное изображение

I strТолько по возможности предложите использовать библиотеку OpenCV, которая в основном предназначена для таких задач.

0 голосов
/ 04 июля 2011

Вы можете отфильтровать цвет, определить пороговое значение для красного цвета, а затем отфильтровать все остальное в альфа, и вы укажете, какой у вас "путь"?

...