Здраствуйте, уважаемые юзеры! Помогите понять через что и как пользоваться вебкамерой!? Задача стоит следующая снять картинку и сохранить в файл!(для фулл линейки виндовс) Опыт: vfw - слишком старый, у меня тупо зеленая\черная картинка directshow - слишком муторный, не понял как сделать обычный снимок WIA - хоть и есть в SDK на msdn методы и т.д. Но не могу понять как сделать просто снимок, без всяких излишеств.... нашел правда Code: http://translate.google.ru/translate?hl=ru&sl=en&u=http://msdn.microsoft.com/en-us/library/windows/desktop/ms629848(v%3Dvs.85).aspx&sa=X&ei=k_rcT8aYNc66-AaCwtCpCg&ved=0CFEQ7gEwAA&prev=/search%3Fq%3Dhttp://msdn.microsoft.com/en-us/library/ms629848(VS.85).aspx%26hl%3Dru%26newwindow%3D1%26client%3Dopera%26rls%3Dru%26channel%3Dsuggest%26biw%3D1887%26bih%3D840%26prmd%3Dimvns Но смысла не знаю зачем мне это "делать снимок с потока видео", тем более не поддерживается в висте и 7
Пофигу, выдает черный экран... Поставил версия 1.0, но высвечивает окно консольное и закрывает программу.. Вообще не понимаю
Поставь версию поновее. Первая картинка может быть черной, попробуй получить вторую, третью. Или сделай чтобы картинка сохранялась по нажатию кнопки Code: CvCapture* capture = cvCreateCameraCapture(0); IplImage* img; while(1) { img = cvQueryImage(capture); cvShowImage("Image", img); char c = cvWaitKey(10); if(c == '13') { cvSaveImage("img.jpg", img); } // Enter }
Поставил 2.1 не хочет..... через videoInput 1995 Все выдает черный экран!!!! PHP: bool WebCameraShot(char* szFileName, int Width, int Height, int vWindow) { videoInput VI; int numDevices = VI.listDevices(); int device1= 0; VI.setupDevice(device1); int width = VI.getWidth(device1); int height = VI.getHeight(device1); IplImage* image= cvCreateImage(cvSize(width, height), 8, 3); unsigned char* yourBuffer = new unsigned char[VI.getSize(device1)]; DWORD nwrite; cvNamedWindow("test"); while(1) { VI.getPixels(device1, yourBuffer, false, false); image->imageData = (char*)yourBuffer; cvConvertImage(image, image, CV_CVTIMG_FLIP); cvShowImage("test", image); if(cvWaitKey(15)==27) break; } VI.stopDevice(device1); cvDestroyWindow("test"); cvReleaseImage(&image); return false; }
Подозреваю может что-то не то линкую? exe в samples у овенсв работают нормально!))) #include <cv.h> #include <highgui.h> #pragma comment(lib, "cv210.lib") #pragma comment(lib, "cxcore210.lib") #pragma comment(lib, "highgui210.lib") #pragma comment(lib, "cvaux210.lib") доп каталоги C:\OpenCV2.1/cxcore/include;C:\OpenCV2.1/cv/include;C:\OpenCV2.1/otherlibs/highgui
Прошу отписывать людей тех, кто понимает\разбирается в сути.... ToADMIRAL[x] cvCreateCameraCapture(0); - выбирает любую камеру... Хоть я от 1 - 10 включу роли не изменит
Re: "vfw - слишком старый, у меня тупо зеленая\черная картинка" Незнаю у меня прекрасно все работает на XP и на 7. Может у вас есть еще источники? Например TV тюнер. Могу дать реализацию на masm32.
Мб просто эти вебкамеры уже используются другим приложением. Дело в том что если камера уже инициализирована , то ты к ней доступа не получишь , получишь черную картинку.