Как эффективно просматривать репозиторий OpenCV, чтобы понять код? - PullRequest
0 голосов
/ 14 октября 2019

Я относительно новичок в кодировании, и я прошу прощения, если мои вопросы просты для вас.

Я пытаюсь понять код OpenCV, чтобы иметь возможность добавлять свои вклады (в основном, преобразование 2D-инструментов в 3D, как это было быбыть полезным для моих проектов машинного обучения и для медицинских проектов). Также есть некоторая лишняя любопытство, так как мне нравится понимать, как все работает.

1) На примере метода GaussianBlur. Что происходит, когда я звоню в Python? А именно, как код Python связывается с кодом C ++? Когда я просматриваю репозиторий, там есть все файлы C ++, и я не могу найти, где это делается. Когда я установил cv2 с pip, все было автоматически, но я хотел бы понять процесс.

2) Если я хочу понять весь алгоритм GaussianBlur, я также не знаком с просмотром C ++, так как я долженприступить к поиску используемых файлов (методов, а также унаследованных классов). В другом ответе я обнаружил, что https://github.com/opencv/opencv/blob/9c23f2f1a682faa9f0b2c2223a857c7d93ba65a6/modules/imgproc/src/smooth.cpp#L4085 содержит метод, но как мне найти какой-либо метод самостоятельно? Почему это не в главной папке, а в папке BLOB-объектов? Как найти другие методы или классы, вызываемые этим?

3) это скорее вопрос любопытства, так как я не знаком с make-файлами, но когда делается связывание между Python и C ++? Когда я устанавливаю OpenCV с pip, это делается автоматически, но я хотел бы понять процесс.

Большое спасибо за ваши ответы! Я был бы признателен за любой учебник, так как я, конечно, много гуглял, прежде чем спрашивать, но не нашел того, что могло бы помочь мне самостоятельно.

1 Ответ

0 голосов
/ 14 октября 2019

В C ++ необходимо загрузить библиотеку и связать их в процессе компиляции и компоновки (при создании исполняемого файла из исходного кода).

Привязка C ++ выполняется с помощью python.h библиотека для c ++ . с помощью этой привязки модуль OpenCV создан для Python.

Для обучения размытие по Гауссу и т. д. вы можете научиться обработка изображений .

МетодыOpencv хранятся в соответствующих файлах. как opencv2/highgui.hpp для OpenCV GUI как imshow. вы можете импортировать их в C ++ с помощью #include <opencv2/highgui.hpp> (методы разделены на разные файлы для сокращения импорта ненужных методов).

CMake подобен языку сценариев (это инструмент), где вы можете написатьскрипт о том, как инструмент должен собрать исполняемый файл из исходного кода .

. Учебник для начинающих: Здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...