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

OpenCV kmeans.cpp из opencv249\sources\samples\cpp

08.01.2015, 22:03. Показов 1349. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/core/core.hpp"
#include <iostream>
 
using namespace cv;
using namespace std;
 
// static void help()
// {
//     cout << "\nThis program demonstrates kmeans clustering.\n"
//             "It generates an image with random points, then assigns a random number of cluster\n"
//             "centers and uses kmeans to move those cluster centers to their representitive location\n"
//             "Call\n"
//             "./kmeans\n" << endl;
// }
 
int main( int /*argc*/, char** /*argv*/ )
{
    const int MAX_CLUSTERS = 5;
    Scalar colorTab[] =
    {
        Scalar(0, 0, 255),
        Scalar(0,255,0),
        Scalar(255,100,100),
        Scalar(255,0,255),
        Scalar(0,255,255)
    };
 
    Mat img(500, 500, CV_8UC3);
    RNG rng(12345);
 
    for(;;)
    {
        int k, clusterCount = rng.uniform(2, MAX_CLUSTERS+1);
        int i, sampleCount = rng.uniform(1, 1001);
        Mat points(sampleCount, 2, CV_32F), labels;
 
        clusterCount = MIN(clusterCount, sampleCount);
        Mat centers;
 
        /* generate random sample from multigaussian distribution */
        for( k = 0; k < clusterCount; k++ )
        {
            Point center;
            center.x = rng.uniform(0, img.cols);
            center.y = rng.uniform(0, img.rows);
            Mat pointChunk = points.rowRange(k*sampleCount/clusterCount,
                                             k == clusterCount - 1 ? sampleCount :
                                             (k+1)*sampleCount/clusterCount);
            rng.fill(pointChunk, CV_RAND_NORMAL, Scalar(center.x, center.y), Scalar(img.cols*0.05, img.rows*0.05));
        }
 
        randShuffle(points, 1, &rng);
 
        kmeans(points, clusterCount, labels,
               TermCriteria( CV_TERMCRIT_EPS+CV_TERMCRIT_ITER, 10, 1.0),
               3, KMEANS_PP_CENTERS, centers);
 
        img = Scalar::all(0);
 
        for( i = 0; i < sampleCount; i++ )
        {
            int clusterIdx = labels.at<int>(i);
            Point ipt = points.at<Point2f>(i); //это проблема кода
            circle( img, ipt, 2, colorTab[clusterIdx], CV_FILLED, CV_AA );
        }
 
        imshow("clusters", img);
 
        char key = (char)waitKey();
        if( key == 27 || key == 'q' || key == 'Q' ) // 'ESC'
            break;
    }
 
    return 0;
}
Вывод ошибки Unhandled exception at at 0x76BC2F71 in OpenCV_include.exe: Microsoft C++ exception: cv::Exception at memory location 0x00A1F430.

Point ipt = points.at<Point2f>(i); //только этот код ошибки()строка 64), а как исправлять?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.01.2015, 22:03
Ответы с готовыми решениями:

Opencv Dev-Cpp
Ошибка: &quot;Source file not compiled&quot; #include &lt;opencv2/opencv.hpp&gt; #include &lt;iostream&gt; using...

CPP memory_ordering:: compare_exchange_weak/strong
Итак compare_exchange_weak/strong(expected, new_value, success_mem_ordering, failure_mem_ordering)...

GRF & DEV CPP
Доброго времени суток!Подскажите как в программе на Си/Си++ использовать графы созданные в...

Asm из cpp, с или других расширений
Можно ли в автоматическом режиме в Visual Studio получить asm-файл из cpp-файла или c-файла или...

0
08.01.2015, 22:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2015, 22:03
Помогаю со студенческими работами здесь

Взаимодействие cpp-dll и delphi-программы
Есть программа, написанная на делфи, а также две длл: одна на с++, другая на делфи. Программа...

Как подключить dll к консольной программе в Dev-CPP ?
Здравствуйте. Написал библиотеку в Qt Creator. Подключаю её к консольной программе, написанной в...

Как в windows сделать динамическую библиотеку из файлов .cpp через командную строку ?
Здраствуйте, вопрос состоит в следующем, как у Виндовс через командную строку сделать ...

mingw+ WindowsXP+ юникод+ консоль+ русский язык+ Dev-Cpp. Вот надо разобраться со всем этим благолепием
Не слабо нам решить эту проблему? В общем, всё, что ест в гугле я пробовал, бесполезно. Всякие там...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru