LINUX.ORG.RU

OpenCV + C++


0

1

Начал учить OpenCV. Всегда думал, что API полностью на Си, но тут обнаружил, что все как-то смешано. Половина функций находится в пространстве имен cv, а другая половина в global space и начинается с cv*. Есть ли какой-либо мануал по объектному API (если он вообще существует), или можно не парится и использовать только Сишное API?

Всегда думал, что API полностью на Си, но тут обнаружил, что все как-то смешано

На С, С++ и python.

Половина функций находится в пространстве имен cv, а другая половина в global space и начинается с cv*

Вобщем, первая половина - это С++, а вторая - это С.

Есть какие-то конкретные примеры проблемных функций?

gag ★★★★★
()

Насколько мне известно, API на чистом Си был в версиях 1.х, 2.х переписали на С++. Текущий С API — обертка для совместимости. Пруфов на официальных ресурсах не нашел, только ответ на stackoverflow.

age
()
Ответ на: комментарий от gag

Просто был немного озадачен. Не нашел аналога cvLoadImage, но кажется ее роль играет функция imread, которая возвращает экземпляр класса Mat

sol_linux ★★
() автор топика
Последнее исправление: sol_linux (всего исправлений: 1)
Ответ на: комментарий от sol_linux

Просто был немного озадачен. Не нашел аналога cvLoadImage, но кажется ее роль играет функция imread, которая возвращает экземпляр класса Mat.
UPD: Кажется нет смысла пользоваться С++ API - литературы особой нет, некоторые вещи, которые было бы логично завернуть в класс (например окно) - не завернуты.

sol_linux ★★
() автор топика
Ответ на: комментарий от sol_linux

Я занимался такими вещами. На C++ API вполне нормальный и местами на порядок удобнее чем сишное. Просто в интернетах почему-то все упоролись и думают, что там только сишное API.

RevenantX ★★★★
()

«Cи» интерфейсом очень сложно пользоваться, на нем сложно писать(много страшного кода) и он deprecated.

Пример C++:

cv::Mat img = cv::imread("path/to/image.png");
cv::Mat out;
cv::blur(img, out, cv::Size(5,5));

AoD314
()
Последнее исправление: AoD314 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.