Форум программистов, компьютерный форум, киберфорум
C++: OpenCV
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 0
Регистрация: 20.03.2011
Сообщений: 54

OpenCV точки контура

12.03.2013, 10:04. Показов 3481. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, прошу ответить мне на вопрос или "пнуть" в нужном направлении.
Написал код определяющий нужный мне контур:
Code
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
#include <cv.h>
#include <highgui.h>
#include <stdlib.h>
#include <stdio.h>
 
 
int main()
{
    IplImage* image = cvLoadImage( "Img.jpg", 1);
 
    //Создаем изображение в градациях серого
    IplImage* img_gray= cvCreateImage( cvSize(image->width,image->height), 8, 1);
    CvSeq* contours = 0;
    CvMemStorage* storage = cvCreateMemStorage(0);
    cvCvtColor( image, img_gray, CV_BGR2GRAY );
    cvCanny(img_gray, img_gray, 45, 200);
    cvFindContours( img_gray, storage, &contours, sizeof(CvContour),
        CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0) );
    cvDrawContours( image, contours, CV_RGB(255,0,0), CV_RGB(0,255,0),2, 1, CV_AA, 
        cvPoint(0,0) );
    CvSeq* h_next=0;
    for( CvSeq* c=contours; c!=NULL; c=c->h_next )
    {
        if (c!=contours)
        {
            if (c->total<=100) //размер удаляемых контуров
            {
                //удаляем мелкие контуры
                h_next->h_next=h_next->h_next->h_next;
                continue;
            }
        }
        h_next=c;
    }
    if (contours->total<=100) contours=contours->h_next;
 
    cvNamedWindow("Object", 1);
    cvShowImage( "Object", image);
    cvWaitKey(0);
}
А вот и непосредственно вопрос:

Как достать координаты нескольких рандомных точек(а именно 6) принадлежащих контуру?

Ну и если не сложно(еще не искал, но на всякий случай спрошу, так как в будущем мне понадобится), как создать двумерный массив размерностью как у исходного изображения?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.03.2013, 10:04
Ответы с готовыми решениями:

Opencv , CvSeq , координаты контура.
Здравствуйте форумчане. Может ктото знает как найти координаты контура (крайние точки ну или центр) в Opencv. Координаты получаю...

OpenCV определить координаты точки по матрице преобразований
Проблема в следующем: есть картинка полученная с камеры, точнее видеопоток по отдельным картинкам. На картинке определенная область...

Кратчайшее расстояние от произвольной точки M(x, y) до контура фигуры
Найти кратчайшее расстояние от произвольной точки M(x,y) с координатами x и y до контура фигуры,точка может располагаться как внутри так и...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2013, 10:04
Помогаю со студенческими работами здесь

Последовательно записать точки контура изображения в массив
Доброго времени суток! Есть класс: public class Points { public Points(int x, int y, int c) { ...

найти кратчайшее расстояние от произвольной точки M(X,Y) с координатами X и Y до контура фигуры
найти кратчайшее расстояние от произволь- ной точки M(X,Y) с координатами X и Y до контура фигуры, точка может распо- лагаться внутри и...

Вычислить работу силы при перемещении материальной точки вдоль контура квадрата.
Вычислить работу силы F=(x-y)i+xj при перемещении материальной точки вдоль контура квадрата, образованного прямыми x=+-1, y=+-1

Математическое моделирование идеального контура. Определить фазовую траекторию контура
построить модель идеального контура. определить фазовую траекторию контура для q(0)=10^-5 K, q'(0)=0, L=10^-3 Гн, С=10^-7 Ф. Добавлено...

Найти кратчайшее расстояние от произвольной точки плоскости с координатами X, Y до контура четвертинки окружности с центром в начале координат
«Программы разветвленной структуры» Найти кратчайшее расстояние от произвольной точки плоскости с координатами X, Y до контура...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru