Чтение онлайн

на главную

Жанры

Мультимедийное Программирование OpenCV
Шрифт:

Mat

(строки, столбцы, тип, скаляр (

rows

,

cols

,

type

,

Scalar

))

строки: размер строки (rows: row size)

столбцы: размер столбца (cols : column size)

тип: тип данных (type : data type)

Скаляр: матричное значение (Scalar : matrix value)

#include <opencv2/opencv.hpp>

using namespace cv;

using namespace std;

int main

{

float data[] = {

1.2f, 2.3f, 3.2f,

4.5f, 5.f, 6.5f,

};

Mat m1(2, 3, CV_8U);

Mat m2(2, 3, CV_8U, Scalar(300));

Mat m3(2, 3, CV_32F, data);

Size sz(2, 3);

Mat m4(Size(2, 3), CV_64F);

Mat m5(sz, CV_32F, data);

cout << "[m1] =" << endl << m1 << endl;

cout << "[m2] =" << endl << m2 << endl;

cout << "[m3] =" << endl << m3 << endl << endl;

cout << "[m4] =" << endl << m4 << endl;

cout << "[m5] =" << endl << m5 << endl;

return 0;

}

#include <opencv2/opencv.hpp>

using namespace cv;

using namespace std;

int main

{

Mat m1(4, 3, CV_32FC3);

cout << “Dimension = " << m1.dims << endl;

cout << “Rows = " << m1.rows << endl;

cout << “Columns = " << m1.cols << endl << endl;

cout << “Channels = " << m1.channels << endl;

cout << “Data Type = " << m1.depth << endl;

cout << “Matrix Size = " << m1.size << endl << endl;

cout << “Total Data Number = " << m1.total << endl;

return 0;

}

#include <opencv2/opencv.hpp>

using namespace cv;

using namespace std;

int main

{

Mat m1(2, 3, CV_8U, 2);

Mat m2(2, 3, CV_8U, Scalar(10));

Mat m3 = m1 + m2;

Mat m4 = m2 – 6;

Mat m5 = m1;

cout << "[m2] =" << endl << m2 << endl;

cout << "[m3] =" << endl << m3 << endl;

cout << "[m4] =" << endl << m4 << endl << endl;

cout << "[m1] =" << endl << m1 << endl;

cout << "[m5] =" << endl << m5 << endl << endl;

m5 = 100;

cout << "[m1] =" << endl << m1 << endl;

cout << "[m5] =" << endl << m5 << endl;

return 0;

}

Копирование исходной матрицы в другую матрицу / Copy original matrix to another matrix

• Матовый клон / Mat clone

• void copy To (матрица целей, матрица маски) / void copy To

(objective matrix, mask matrix)

mask matrix : Копирование только ненулевых элементов (elemen)

void convertTo

(objective matrix, data type)

data type : data type, которые вы хотите изменить

#include <opencv2/opencv.hpp>

using namespace cv;

using namespace std;

int main

{

double data[] = {

1.1, 2.2, 3.3, 4.4,

5.5, 6.6, 7.7, 8.9,

9.9, 10, 11, 12

};

Mat m1(3, 4, CV_64F, data);

Mat m2 = m1.clone; // copy m1 to m2

Mat m3, m4;

m1.copyTo(m3); // copy m1 to m3

m1.convertTo(m4, CV_8U); // copy m1 to m4 converting to uchar

cout << "[m1] =\n" << m1 << endl;

cout << "[m2] =\n" << m2 << endl;

cout << "[m3] =\n" << m3 << endl;

cout << "[m4] =\n" << m4 << endl;

return 0;

}

векторный класс / vector Class

Контейнер

последовательностей

(Sequence Container) C++ STL(Standard Template Library)

доступ

к

элементу

(element access)

вектора

(vector) :

используйте

оператор

индекса

(subscript operator), [],

как

массив

(array)

vector : конструктор(constructor)

void push_back : добавляет элемент в конец vector

void pop_back : удалить последний элемент

#include <opencv2/opencv.hpp>

using namespace cv;

using namespace std;

int main

{

vector<Point> v1;

v1.push_back(Point(10, 20));

v1.push_back(Point(20, 30));

v1.push_back(Point(50, 60));

vector<float> v2(3, 9.25);

Поделиться:
Популярные книги

Бастард Императора

Орлов Андрей Юрьевич
1. Бастард Императора
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Бастард Императора

На границе империй. Том 10. Часть 1

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 1

Имя нам Легион. Том 7

Дорничев Дмитрий
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 7

Измена. Вторая жена мужа

Караева Алсу
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Вторая жена мужа

Буря империи

Сай Ярослав
6. Медорфенов
Фантастика:
аниме
фэнтези
фантастика: прочее
эпическая фантастика
5.00
рейтинг книги
Буря империи

Пенсия для морского дьявола

Чиркунов Игорь
1. Первый в касте бездны
Фантастика:
попаданцы
5.29
рейтинг книги
Пенсия для морского дьявола

На изломе чувств

Юнина Наталья
Любовные романы:
современные любовные романы
6.83
рейтинг книги
На изломе чувств

Тринадцатый II

NikL
2. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый II

Сирота

Шмаков Алексей Семенович
1. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Сирота

Законы Рода. Том 9

Flow Ascold
9. Граф Берестьев
Фантастика:
городское фэнтези
попаданцы
аниме
дорама
фэнтези
фантастика: прочее
5.00
рейтинг книги
Законы Рода. Том 9

Красноармеец

Поселягин Владимир Геннадьевич
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Красноармеец

Огненный князь 4

Машуков Тимур
4. Багряный восход
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 4

Начальник милиции. Книга 5

Дамиров Рафаэль
5. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 5

Инкарнатор

Прокофьев Роман Юрьевич
1. Стеллар
Фантастика:
боевая фантастика
рпг
7.30
рейтинг книги
Инкарнатор