#cpp #opencv #web_camera
Появилась необходимость обрабатывать фреймы с вебкамеры, выбрал OpenCV. Так вот, эта програмулька для чтения выдает ошибку: Unhandled exception at 0x00007FF959C7E5BC (ntdll.dll) in CaptureVideo.exe: 0xC000000D : Службе или функции передан неверный параметр. В окне видно вместо изображения полоски. Код: #include#include int main() { cvNamedWindow("Output", 0); CvCapture* capture = cvCreateCameraCapture(0); //assert(capture != NULL); IplImage* frame = cvQueryFrame(capture); cvShowImage("Output", frame); //cvSaveImage("filename.png", frame); cvWaitKey (2000); cvDestroyWindow("Output"); return 0; } Проблема в строчке: CvCapture* capture = cvCreateCameraCapture(0); При нулевом значении выходит ошибка, а при других константах (СV_CAP_*) нету ни изображения, ни ошибки. На всякий: камера ноутбука. В скайпе как и на сайтах камера работает.
Ответы
Ответ 1
#includeusing namespace cv; int main(int, char**) { VideoCapture cap(0); // открываем камеру if(!cap.isOpened()) // Mat edges; namedWindow("edges",1); for(;;) { Mat frame; cap >> frame; // получаем кадры от камеры cvtColor(frame, edges, COLOR_BGR2GRAY); GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5); Canny(edges, edges, 0, 30, 3); imshow("edges", edges); if(waitKey(30) >= 0) break; } // деструктор return 0; }
Комментариев нет:
Отправить комментарий