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

Что делает конструкция (Mat_<float>(1,2) << i,j) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Произведение элементов массива, расположенных между максимальным и минимальным элементами http://www.cyberforum.ru/cpp-beginners/thread691812.html
Добрый вечер. Помогите разобраться с массивами. Поиск изал но толком ничего понятного для себя не нашел. Делать программу пытался сам но почему-то мы не можем все подружиться.. Собственно прошу помощи. Задание 1 В одномерном массиве {3.24, -7.16, 2.28, -0.16, -3.22, 7.14, 2.88, -3.20, 0.99, -4.15} вычислить: 1) сумму отрицательных элементов массива;
C++ Найти в строке слова-сообщения, в которых содержатся цифры и вывести их на экран Вводится строка s, слова разделяются пробелами и разделительными знаками. Надо найти слова-сообщения в которых содержатся цыфры и вывести их на экран. У меня ничего не выводит. Немогу найти в чём проблема у меня. b -- начало первая буква слова e -- знак после последней #include "stdafx.h" #include<iostream> #include<math.h> #include<locale> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread691810.html
Проверка программы C++
Не знаю как написать проверку к программе, может кто-то поможет? #include <iostream> int main() { float array; int i = 0, j; std::cout << "Inter a number " << std::endl;
Итерационные циклы C++
Доброй ночи Помогите найти ошибки, скорее всего в функциях. общее задание: ЛАБОРАТОРНАЯ РАБОТА № 3 РЕАЛИЗАЦИЯ ИТЕРАЦИОННЫХ ЦИКЛОВ СРЕДСТВАМИ ЯЗЫКА С++ Цель работы: Составление алгоритмов и написание многомодульных программ с итерационными циклами Общие указания к заданиям лабораторной работы. По номеру Вашего варианта выбрать задачу, решаемую в этой лабораторной работе, и выполнить для...
C++ При нажатии соответствующей клавиши запустить .exe http://www.cyberforum.ru/cpp-beginners/thread691806.html
Помогите ,пожалуйста! У меня на С++ написана маленькая менюшечка,нужно что бы при нажатии соответствующей клавиши запускался .exe . Как это реализовать? Я слышал,что для этого и подобных действий есть уже специальная библиотека,какая?
C++ Удаление из массива элементов класса пытаюсь разобраться с классами, но особо не получается..да и вечное "скорее сдать" не особо оставляет время для того, чтобы понять все до конца. нужно удалить страну из списка.. Удаляет, но после удаления часть информации уходит в никуда. Подскажите, пожалуйста, в чем ошибка. #include<math.h> #include<stdio.h> #include<stdlib.h> #include<conio.h> подробнее

Показать сообщение отдельно
Lopster92
3 / 3 / 0
Регистрация: 25.12.2009
Сообщений: 49
08.11.2012, 20:52  [ТС]     Что делает конструкция (Mat_<float>(1,2) << i,j)
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Очевидно, Mat_ это шаблон, объявленный скорее всего как
C++
1
2
3
4
5
6
7
template <typename SomeType> 
class Mat_{
public:
Mat_(int width, int heigth);
Mat& operator << (/*...*/);
/*...*/
};
Я полазил по исходникам, но не нашел перегрузки оператора <<, там только для = есть((
Вот весть код (на OpenCV):

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
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/ml/ml.hpp>
 
using namespace cv;
 
int main()
{
    // Data for visual representation
    int width = 512, height = 512;
    Mat image = Mat::zeros(height, width, CV_8UC3);
 
    // Set up training data
    float labels[4] = {1.0, -1.0, -1.0, -1.0};
    Mat labelsMat(4, 1, CV_32FC1, labels);
 
    float trainingData[4][2] = { {501, 10}, {255, 10}, {501, 255}, {10, 501} };
    Mat trainingDataMat(4, 2, CV_32FC1, trainingData);
 
    // Set up SVM's parameters
    CvSVMParams params;
    params.svm_type    = CvSVM::C_SVC;
    params.kernel_type = CvSVM::LINEAR;
    params.term_crit   = cvTermCriteria(CV_TERMCRIT_ITER, 100, 1e-6);
 
    // Train the SVM
    CvSVM SVM;
    SVM.train(trainingDataMat, labelsMat, Mat(), Mat(), params);
 
    Vec3b green(0,255,0), blue (255,0,0);
    // Show the decision regions given by the SVM
    for (int i = 0; i < image.rows; ++i)
        for (int j = 0; j < image.cols; ++j)
        {
            Mat sampleMat = (Mat_<float>(1,2) << i,j);
            float response = SVM.predict(sampleMat);
 
            if (response == 1)
                image.at<Vec3b>(j, i)  = green;
            else if (response == -1)
                 image.at<Vec3b>(j, i)  = blue;
        }
 
    // Show the training data
    int thickness = -1;
    int lineType = 8;
    circle( image, Point(501,  10), 5, Scalar(  0,   0,   0), thickness, lineType);
    circle( image, Point(255,  10), 5, Scalar(255, 255, 255), thickness, lineType);
    circle( image, Point(501, 255), 5, Scalar(255, 255, 255), thickness, lineType);
    circle( image, Point( 10, 501), 5, Scalar(255, 255, 255), thickness, lineType);
 
    // Show support vectors
    thickness = 2;
    lineType  = 8;
    int c     = SVM.get_support_vector_count();
 
    for (int i = 0; i < c; ++i)
    {
        const float* v = SVM.get_support_vector(i);
        circle( image,  Point( (int) v[0], (int) v[1]),   6,  Scalar(128, 128, 128), thickness, lineType);
    }
 
    imwrite("result.png", image);        // save the image
 
    imshow("SVM Simple Example", image); // show it to the user
    waitKey(0);
 
}
 
Текущее время: 11:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru