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

Как найти расстояние между 2 линиями (OpenCV)? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Протестируйте функцию сортировки контейнера http://www.cyberforum.ru/cpp-beginners/thread1563232.html
У set контейнера странная сортировка, решил написать функцию которая увеличивала на одну единицу значение вектора. Вектор выступает как "виртуальное целое число". Так как стандартный обход char от 0 до -128 и увеличить переменную со значением -128 приведет что переменная будет равна 0. А сортировка у set контейнера от -128 до 127. Вопрос правильно ли работает моя функция. Я просто не знаю как...
C++ Поиск фигуры на картинке Суть задания: В окне программы рисуется фигура (треугольник или прямоугольник). При нажатии на кнопку "Go", в верхнем левом углу окна программы появляется объект (допустим в виде квдратика) у которого есть направление сканирования (хз как это еще описать). Он должен: 1. Найти фигуру (которую мы нарисовали в начале). 2. Приблизится впритык к фигуре. 3. Полностью обойти фигуру. 4. Выдать... http://www.cyberforum.ru/cpp-beginners/thread1563162.html
C++ Ссылка для скачивания visual studio 2010 professional
В интернете постоянно, когда скачиваю visual studio 2010 professional rus выходит при установке образ жесткого диска, но так никогда не было когда скачивала раньше. Старая установка исчезла из-за переустановки винды. Может кто-нибудь поможет мне, скинет ссылку для скачивания нормальной visual studio 2010 professional rus x64bit. мне именно нужна 2010..а не новые 2013, 2015г
Парсинг файлов .dem C++
Приветствую, ребята, в инете что-то не могу найти инфу по этому вопросу, в частности нужна структура файла .dem (это демо контры, халвы и т.п. подобных проектов h2l) Если кто знаком - киньте ссылки пожалуйста :)
C++ Управление памятью другой программы http://www.cyberforum.ru/cpp-beginners/thread1561977.html
Добрый день. Необходим постоянно устанавливать значение переменной в другой запущенной программе в 0. Ну это понятно, что значение надо менять в цикле, с задержкой ( Sleep(int) ). Суть не в этом. int speed; HWND hWin; DWORD ProcId; HANDLE hProc; DWORD NBW;
C++ MSVS или MINGW Привет всем. У меня скоро заканчивается пробная версия visual studio и я думаю установить mingw(операционная система Windows). Как mingw? Лучше mcvs? Мне обязательно чтобы отладчик был хороший. Но ещё на хабре читал что mcvs лучше оптииизирует код. Ну вообщем расскажите немного про mingw. подробнее

Показать сообщение отдельно
MValeriy
0 / 0 / 0
Регистрация: 14.10.2015
Сообщений: 28
29.10.2015, 12:22  [ТС]     Как найти расстояние между 2 линиями (OpenCV)?
Цитата Сообщение от OstapBender Посмотреть сообщение
каждая линия задана 2-мя точками, возьми среднее и вычти
а есть пример как это сделать? как получить координаты точек, и как собственно вычислить потом расстояние между ними? Что то никак не могу добраться до истины

Добавлено через 3 минуты
Если можно на примере программки:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
 
#include <iostream>
 
using namespace cv;
using namespace std;
 
void help()
{
 cout << "\nThis program demonstrates line finding with the Hough transform.\n" << endl;
}
 
int main(int argc, char** argv)
{
 const char* filename = argc >= 2 ? argv[1] : "2.jpg";
 
 Mat src = imread(filename, 0);
 if(src.empty())
 {
     help();
     cout << "can not open " << filename << endl;
     return -1;
 }
 
 Mat dst, cdst;
 Canny(src, dst, 50, 200, 3);
 cvtColor(dst, cdst, CV_GRAY2BGR);
 
 #if 0
  vector<Vec2f> lines;
  HoughLines(dst, lines, 1, CV_PI/180, 100, 0, 0 );
 
  for( size_t i = 0; i < lines.size(); i++ )
  {
     float rho = lines[i][0], theta = lines[i][1];
     Point pt1, pt2;
     double a = cos(theta), b = sin(theta);
     double x0 = a*rho, y0 = b*rho;
     pt1.x = cvRound(x0 + 1000*(-b));
     pt1.y = cvRound(y0 + 1000*(a));
     pt2.x = cvRound(x0 - 1000*(-b));
     pt2.y = cvRound(y0 - 1000*(a));
     line( cdst, pt1, pt2, Scalar(0,0,255), 3, CV_AA);
  }
 #else
  vector<Vec4i> lines;
  HoughLinesP(dst, lines, 1, CV_PI/180, 50, 50, 10 );
  for( size_t i = 0; i < lines.size(); i++ )
  {
    Vec4i l = lines[i];
    line( cdst, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(0,0,255), 3, CV_AA);
  }
 #endif
 imshow("source", src);
 imshow("detected lines", cdst);
 
 waitKey();
 
 return 0;
}
 
Текущее время: 16:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru