Как извлечь функцию из модуля highgui (opencv) и поместить в файл кода - PullRequest
0 голосов
/ 21 июля 2010

это может быть глупый вопрос, но мне нужно знать, если для кода ниже, могу ли я извлечь функцию cvCaptureFromCAM () из highgui.lib и вставить ее в свой код, чтобы я мог переименовать ее в camcapture (), а затем вызовите это в моей программе, не включая файл библиотеки highgui в начале файла кода:

CvCapture * pCapture = 0;


//Initialize video capture
pCapture = cvCaptureFromCAM( CV_CAP_ANY );

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 25 июля 2010

Еще одна вещь, которую вы можете сделать, это использовать библиотеку videoInput.Он использует DirectX для получения доступа к веб-камере.

Подробнее здесь: http://aishack.in/tutorials/capturing-images-with-directx/

0 голосов
/ 24 июля 2010

Это возможно! Однако , через пару дней вы в конце концов поймете, что OpenCV полагается на другие библиотеки для выполнения своей работы, а это значит, что вам также придется копаться в этих библиотеках, чтобы заставить все работать cvCaptureFromCAM () на вашемприложения, не связывая его с OpenCV.

Теперь подумайте об этом на секунду, даже если вам это удастся, как бы вы извлекли / сохранили / отобразили изображения с камеры, не используя другие функции OpenCV, такие как cvShowImage (), cvGrabFrame() и т. д. Рассмотрим всю тяжелую работу, которую вы также должны были бы выполнить для удаления этих функций из библиотеки.Стоит ли оно того?

Если вы просто пытаетесь сделать свой код чище, вы можете сделать простую оболочку вокруг cvCaptureFromCAM () и просто вызвать camcapture () из своей функции main ().

/* Global variables */
CvCapture* capture = NULL;

void camcapture()
{
   capture = cvCaptureFromCAM(CV_CAP_ANY);    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...