roboforum.ru

Технический форум по робототехнике.
Текущее время: 05 май 2025, 19:27

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: распознавание светофора используя opencv
СообщениеДобавлено: 17 фев 2009, 21:21 
Не в сети

Зарегистрирован: 17 фев 2009, 21:04
Сообщения: 6
Откуда: Москва
Здравствуйте! пытаюсь реализовать "светофор" с помощью аналоговой камеры и пакета opencv встроенного в builder. Мне необходимо всего лишь разбить попиксельно изображение получаемое с камеры и выделить в нем красный и зеленый цвета. Я реализовал проблему пользуясь компонентом "TImage", но у меня не получается реализовать проблему опираясь на уже готовый пример "http://smorodov.narod.ru/Downloads/OpenCVProj/CirclesDetection.rar" спасибо большое создателю Смородову Андрею, в котором используется компонент "IplImage". пожалуйста подскажите как мне собственно попиксельно разбить картинку и выделить на ней допустим красный цвет используя пакет opencv, большое спасибо за внимание.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: распознавание светофора используя opencv
СообщениеДобавлено: 17 фев 2009, 21:31 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Попиксельный доступ - читайте структуру IplImage.

Выделить красный - надо смотреть на практике, возможно надо будет каждый пиксель обработать простой функцией проверки на красный цвет типа RGB проверить на то, что R*K>G+B, где К - надо подбирать, например К=1.4

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: распознавание светофора используя opencv
СообщениеДобавлено: 20 фев 2009, 15:17 
Не в сети

Зарегистрирован: 17 фев 2009, 21:04
Сообщения: 6
Откуда: Москва
спасибо))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: распознавание светофора используя opencv
СообщениеДобавлено: 20 фев 2009, 15:26 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
и пожайлуйста, перестаньте реализоывать проблемы... :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: распознавание светофора используя opencv
СообщениеДобавлено: 20 фев 2009, 16:23 
Не в сети

Зарегистрирован: 17 фев 2009, 21:04
Сообщения: 6
Откуда: Москва
)))постараюсь проблемы больше не реализовывать и переключиться на идеи..)))

до совета =Dead= мое серое вещество выдало следующее:

Код:
Graphics::TBitmap*  IplToBMP (IplImage* _Grab);
void                DrawIpl  (TCanvas *Canv,IplImage* _Grab);
HBITMAP             CreateRGBBitmap(IplImage* _Grab);
void                APIDrawIpl (IplImage* _Grab,void *HANDLE);
void filter(IplImage* image)
{
for (int i=0; i<640; i=i+1)
{
for (int j=0; j<480; j=j+1)
{
Red1=false;
Green1=false;
ColoredPixel = GetPixel(image->imageSize->Handle,i,j);
Red=ColoredPixel&0xFF;
Green=(ColoredPixel>>8)&0xFF;
Blue=(ColoredPixel>>16)&0xFF;
if ((Red-RedGreen<Green) || (Red-RedBlue<Blue)) Red1=true;
if ((Green-GreenRed<Red) || (Green-GreenBlue<Blue)) Green1=true;
if (Red1==true && Green1==true) image->imageSize->Pixels[i][j]=clBlack;
}
}
};
#define WIDTHBYTES(bits) ((((bits) + 31) / 32) * 4)
float edge_thresh=200;
//----------------------------------------------------------------------------
void callback(IplImage* image, int X, int Y)       

double M=0;
CvMoments moments;
float* p;

if (do_something = 1)
{

ColoredPixel = GetPixel(image->imageSize->Handle,X,Y);
Red=ColoredPixel&0xFF;
Green=(ColoredPixel>>8)&0xFF;
Blue=(ColoredPixel>>16)&0xFF;
filter(image);

}



на что билдер выдал: pointer to structure required on left side of -> or -> *
на строку
ColoredPixel = GetPixel(image->imageSize->Handle,X,Y);
и подобныые ей

Добавлено спустя 27 минут 6 секунд:
Voon спасибо )))


Последний раз редактировалось Vooon 20 фев 2009, 16:14, всего редактировалось 2 раз(а).
Tag CODE!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: распознавание светофора используя opencv
СообщениеДобавлено: 20 фев 2009, 16:33 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
И?

GetPixel(image->imageSize->Handle,i,j);

imageSize какого типа?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: распознавание светофора используя opencv
СообщениеДобавлено: 24 фев 2009, 15:37 
Не в сети

Зарегистрирован: 17 фев 2009, 21:04
Сообщения: 6
Откуда: Москва
int


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: распознавание светофора используя opencv
СообщениеДобавлено: 24 фев 2009, 15:48 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Еще нужны подсказки? :shock:

и че за поле Handle у базового типа int?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: распознавание светофора используя opencv
СообщениеДобавлено: 24 фев 2009, 16:14 
Не в сети

Зарегистрирован: 17 фев 2009, 21:04
Сообщения: 6
Откуда: Москва
конечно же нужны...и при чем не одна простите за наглость)))

Добавлено спустя 9 минут 10 секунд:
убрал Handle
привел строку к следующему виду:
ColoredPixel = GetPixel(image, i, j);
больше этой ошибки не возникло, да и вообще никаких кроме:
[Link error] Unresolved external 'callback(_IplImage*)'refereced from "путь к файлу\myvideocapture.obj


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO