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

C++

Войти
Регистрация
Восстановить пароль
 
MValeriy
0 / 0 / 0
Регистрация: 14.10.2015
Сообщений: 28
#1

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

08.12.2015, 11:04. Просмотров 394. Ответов 5
Метки нет (Все метки)

Доброго времени суток. у меня есть код с помощью которого я нахожу контур объекта и его ширину с высотой:


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)?
Посмотрите здесь:

Как найти расстояние между 2 линиями (OpenCV)? - C++
Доброго времени Суток! у меня следующий вопрос. я с камеры получаю картинку с помщью OPENCV, и с помощью функций Canny и ROI получаю...

Алгоритмы поиска кратчайших путей в ширину и двунаправленный в ширину - C++
Реализовать алгоритм поиска кратчайшего пути. Двунаправленный поиск в ширину. Вот есть 2 алгоритма поиска в ширину. ...

Как установить библиотеку OpenCV в C++ Builder - C++ Builder
народ киньте силку на библиотеку с OpenCV для c++ builder не магу найти.

Как сделать систему распознавания образов на OpenCV - C++ Linux
Добрый вечер. Я знаю, что в OpenCV существует алгоритм, использующий классификаторы Хаара для детектирования объектов в изображении. Этот...

Как подключить OpenCV 2.4.6 к QT creator 5.1.1 на mac OSX 10.8.5 - C++
Проблема заключается в том, что я совершенно начинающий программист и не понимаю логику подключения. Все мануалы, которые я нашел в...

Найти минимальный путь между двумя вершинами в неорграфе. Поиск в ширину - C++
В неориентированном графе требуется найти минимальный путь между двумя вершинами. Входные данные Первым на вход поступает число N –...

Как подключить OpenCV (среда - MS Visual Studio 2015)? - C++ IDE
Доброго времени суток. Подключила библиотеки opencv, пытаюсь использовать код,который лежит в папке Samples OpenCV, для вывода изображения...

Как подключить библиотеки OpenCV 3.0.0 к visual studio 2012? - C++
Как подключить библиотеки OpenCV 3.0.0 к visual studio 2012?

Вводить название фигуры, выводить формулу для вычисления площади этой фигуры - C++
Вводить название фигуры (треугольник, квадрат, ромб, прямоугольник) выводить формулу для вычисления площади этой фигуры.

Как измерить ширину текста? - C++ WinAPI
Оконная процедура TEXTMETRIC Metric; HDC Context; HFONT Font; uint16_t Repeats;...

Как изменить ширину кнопки - Visual C++
Как программно изменить ширину, высоту, и расположение кнопки на форме в visual c++ 6.0 ?

Объясните пожалуйста, как подключить библиотеку OpenCV к CodeGear C++ Builder 2007 - C++ Builder
Объясните новичку пожалуйста.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OstapBender
583 / 521 / 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
583 / 521 / 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
583 / 521 / 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)?
Ответ Создать тему
Опции темы

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