Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ закрасить круг http://www.cyberforum.ru/cpp-beginners/thread245354.html
подскажите как можно нарисовать закрасить круг в borlandc
C++ Индекс первой точки в массиве условие проги:"Ввести символьный массив из 15-ти или меньшего количества элементов и найти индекс первой точки в этом массиве" программа работает. в принципе со всем я разобрался. но одно условие не работает. необходимо найти индекс ПЕРВОЙ точки , а по умолчанию выдает индекс ПОСЛЕДНЕЙ точки. Как изменить? { const int N=15; char massiv; int inddot=0, t=Edit1->GetTextLen(); if (t>N) t=N;... 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; Если ввести эти значения, то должно выводиться сообщение "Точка принадлежит области №1", а выводится второе.
C++ Найти максимальный элемент и среднее арифметическое отрицательных элементов матрицы Дана матрица состоящая из N,M вещественных элементов. 1.Найти максимальный элемент 2.Вычислить средееарифметическое отрицательных элементов массива подробнее

Показать сообщение отдельно
EBorisov
Сообщений: n/a

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

19.02.2011, 20:52. Просмотров 1707. Ответов 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