Форум программистов, компьютерный форум, киберфорум
Наши страницы

Преобразованиие Хафа для линий через opencv - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ закрасить круг http://www.cyberforum.ru/cpp-beginners/thread245354.html
подскажите как можно нарисовать закрасить круг в borlandc
C++ Индекс первой точки в массиве условие проги:"Ввести символьный массив из 15-ти или меньшего количества элементов и найти индекс первой точки в этом массиве" программа работает. в принципе со всем я разобрался. но одно условие не... http://www.cyberforum.ru/cpp-beginners/thread245347.html
Char C++
Помогите заполнить char Через Цыкл char c; for(int j=0;j<10;j++) { for(int i=0;i<10;i++) { cin.get(c,9); }
Таймер в TurboC30 C++
Как поставить таймер в TurboC30? и что бы он выводился на экран;) спасибо)
C++ Не выполняется алгебраическая операция http://www.cyberforum.ru/cpp-beginners/thread245301.html
Привет всем. Помогите найти ошибку. Описывать само задание проги не буду, напишу вкратце. Вводим 4 значения: A=4; B=4; x=3; y=2; Если ввести эти значения, то должно выводиться сообщение...
C++ Найти максимальный элемент и среднее арифметическое отрицательных элементов матрицы Дана матрица состоящая из N,M вещественных элементов. 1.Найти максимальный элемент 2.Вычислить средееарифметическое отрицательных элементов массива подробнее

Показать сообщение отдельно
EBorisov

Преобразованиие Хафа для линий через opencv - C++

19.02.2011, 20:52. Просмотров 1816. Ответов 0
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdafx.h>
#include <cv.h>
#include <highgui.h>
#include <math.h>
 
int main(int argc, char** argv) {
    argv[1] = "images/p1.png";
    IplImage* image = cvLoadImage( 
    argv[1],
    CV_LOAD_IMAGE_GRAYSCALE
    );
    IplImage* src = cvLoadImage( argv[1] ); 
 
    CvMemStorage* storage = cvCreateMemStorage(0);
    CvSeq* results = cvHoughLines2( 
    image, 
    storage, 
    CV_HOUGH_PROBABILISTIC, 
    image->width/10,
    10,
    5,
    2,
    2
    ); 
 
    for( int i = 0; i < results->total; i++ ) {
        float* line = (float*) cvGetSeqElem( results , i );
В учебнике сказано, что при выполнении преобразования Хафа вот этим методом "CV_HOUGH_PROBABILISTIC" - line будет указателем на структуру из парных значений CvPoint для начальной и конечной точек сегмента линии.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
 CvPoint pt1 = cvPoint( line[0] ); //- точка должна задаваться двумя координатами x и y -так что не катит
        CvPoint pt2 = cvPoint( line[1] );
        cvLine(
    src, 
    line[0], // - так тоже не катит error C2664: cvLine: невозможно преобразовать параметр 2 из 'float' в 'CvPoint' 
              line[1], 
    CV_RGB(0xff,0,0) 
    );
    }
    cvNamedWindow( "cvHough", 1 );
    cvShowImage( "cvHough", src);
    cvWaitKey(0);
}
Собственно весь вопрос, как передать значения этих двух точек в функцию cvLine?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru