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

Как найти ширину фигуры (OPENCV)? - C++

Восстановить пароль Регистрация
 
MValeriy
0 / 0 / 0
Регистрация: 14.10.2015
Сообщений: 28
08.12.2015, 11:04     Как найти ширину фигуры (OPENCV)? #1
Доброго времени суток. у меня есть код с помощью которого я нахожу контур объекта и его ширину с высотой:


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
for(;;)
    {
        Mat frame;
        cap >> frame; // get a new frame from camera
        cvtColor(frame, edges, COLOR_BGR2GRAY);
        GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
        Canny(edges, edges, 0, 50, 3);
 
        vector<vector<Point> > contours;
        findContours(edges, contours, RETR_LIST, CHAIN_APPROX_SIMPLE);
 
        for( size_t i = 0; i < contours.size(); i++ )
        {
            Rect minRect = boundingRect(contours[i]);
 
            if(minRect.width > 50 & minRect.height > 50 )
            {
            rectangle(frame,minRect,Scalar(0,0,255));
            putText(frame,format("width = %d , height = %d",minRect.width,minRect.height), Point(minRect.x,minRect.y),
                    FONT_HERSHEY_PLAIN, 1, Scalar(0,255,0));
            }
 
        }
        imshow("edges", frame);
        if(waitKey(30) >= 0) break;
    }
    // the camera will be deinitialized automatically in VideoCapture destructor
    return 0;
}
Но это работает только на простых фигурах : Как найти ширину фигуры (OPENCV)?
я же хочу найти ширину следующих обьектов Как найти ширину фигуры (OPENCV)? Как найти ширину фигуры (OPENCV)?

этот код находит конту, но всего обьекта Как найти ширину фигуры (OPENCV)?

Есть у кого нибудь идеи или решение как его можно переделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2015, 11:04     Как найти ширину фигуры (OPENCV)?
Посмотрите здесь:

C++ Вводить название фигуры, выводить формулу для вычисления площади этой фигуры
C++ Builder Как установить библиотеку OpenCV в C++ Builder
Visual C++ Как изменить ширину кнопки
C++ Программа вычисления местонахождения точки относительно фигуры (лежит ли точка внутри, на контуре или вне фигуры)
Объясните пожалуйста, как подключить библиотеку OpenCV к CodeGear C++ Builder 2007 C++ Builder
C++ Как подключить OpenCV 2.4.6 к QT creator 5.1.1 на mac OSX 10.8.5
Как измерить ширину текста? C++ WinAPI
C++ Алгоритмы поиска кратчайших путей в ширину и двунаправленный в ширину
Найти минимальный путь между двумя вершинами в неорграфе. Поиск в ширину C++
C++ Как подключить библиотеки OpenCV 3.0.0 к visual studio 2012?
Как найти расстояние между 2 линиями (OpenCV)? C++
Как подключить OpenCV (среда - MS Visual Studio 2015)?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
08.12.2015, 11:34     Как найти ширину фигуры (OPENCV)? #2
а что это за линии по краям, которые не считаются объектом?
и почему их нет на изображении с квадратом?
MValeriy
0 / 0 / 0
Регистрация: 14.10.2015
Сообщений: 28
08.12.2015, 11:46  [ТС]     Как найти ширину фигуры (OPENCV)? #3
Квадрат был примером простой Фигуры, и отличным пример для кода)))
целью же является найти ширину если есть вот такие линии, назовем их помехами)
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
09.12.2015, 00:45     Как найти ширину фигуры (OPENCV)? #4
Могу предложить:
Находишь линии с помощью преобразования Хафа - 1)
Отбрасываешь из рассмотрения те у которых минимальный и максимальный Х - 2)
http://snag.gy/qH5aX.jpg
MValeriy
0 / 0 / 0
Регистрация: 14.10.2015
Сообщений: 28
16.12.2015, 15:08  [ТС]     Как найти ширину фигуры (OPENCV)? #5
Спасибо за совет,
Не подскажешь , на примере кода, как найти из множества точек, точку с наибольшем и наименьшим x (y не имеет значения)
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
17.12.2015, 10:38     Как найти ширину фигуры (OPENCV)? #6
C++
1
2
3
4
5
CvPoint pmix(10000,10000) pmax(0,0);
for (int i=0; i<n; i++) {
if (pts[i].x < pmin.x) pmin = pts[i];
if (pts[i].x > pmax.x) pmax = pts[i];
}
Yandex
Объявления
17.12.2015, 10:38     Как найти ширину фигуры (OPENCV)?
Ответ Создать тему
Опции темы

Текущее время: 18:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru