Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2013, 00:10   #1
JinAnton
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 54
По умолчанию Работа с контуром OpenCV

Здравствуйте, форумчане, нужно реализовать программку но передо мной встала одна проблемка...
Вот находятся нужные контуры на изображении:


Код:
#include <cv.h>
#include <highgui.h>
#include <stdlib.h>
#include <stdio.h>


int main()
{
	IplImage* image = cvLoadImage( "Img.jpg", 1);

	//Создаем изображение в градациях серого
	IplImage* img_gray= cvCreateImage( cvSize(image->width,image->height), 8, 1);
	CvSeq* contours = 0;
	CvMemStorage* storage = cvCreateMemStorage(0);
	cvCvtColor( image, img_gray, CV_BGR2GRAY );
	cvCanny(img_gray, img_gray, 45, 200);
	//cvAdaptiveThreshold(img_gray, img_gray, 255, CV_ADAPTIVE_THRESH_GAUSSIAN_C ,
	// CV_THRESH_BINARY, 21, 7);
	cvFindContours( img_gray, storage, &contours, sizeof(CvContour),
		CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0) );
	cvDrawContours( image, contours, CV_RGB(255,0,0), CV_RGB(0,255,0),2, 1, CV_AA, 
		cvPoint(0,0) );
	CvSeq* h_next=0;
	for( CvSeq* c=contours; c!=NULL; c=c->h_next )
	{
		if (c!=contours)
		{
			if (c->total<=100) //размер удаляемых контуров
			{
				//удаляем мелкие контуры
				h_next->h_next=h_next->h_next->h_next;
				continue;
			}
		}
		h_next=c;
	}
	if (contours->total<=100) contours=contours->h_next;

	cvNamedWindow("Object", 1);
	cvShowImage( "Object", image);
	cvWaitKey(0);
}

Теперь мне нужно из выделенного контура вытащить координаты 6 точек ( рандомных, но думаю это не суть важно) для дальнейших математических расчетов, но в гугле ничего толкового( в смысле понятного мне) я не нашел, "пните" в нужном направлении, пожалуйста...
З.Ы. В openCV новичок.

Последний раз редактировалось JinAnton; 11.03.2013 в 06:01.
JinAnton вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с openCV на C++ Fads Фриланс 0 23.01.2013 19:01
Работа с OpenCV на C++ Fads Фриланс 0 03.01.2013 16:38
OpenCV Редиска_Саша Помощь студентам 1 10.10.2011 22:52
Opencv scripto Общие вопросы C/C++ 0 17.02.2011 18:53
OpenCV marselik Общие вопросы C/C++ 0 23.04.2010 15:35