Перейти к содержимому
Compvision.ru

Captain

Пользователи
  • Количество публикаций

    7
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем Captain


  1. В общем суть проблемы я так и не понял, но похоже, что дело не в камере. Сделал запись кадров в файл вместо вывода в окно и наконец-то увидел изображение с камеры:

    	CvCapture *pCapture = cvCreateFileCapture("http://192.168.1.17:80/video1.mjpg");
    
    	if (pCapture != NULL)
    
    	{
    
    		IplImage *pImg = NULL;
    
    		int i = 0;
    
    		char filename[20];
    
    		while (true)
    
    		{
    
    			pImg = cvQueryFrame(pCapture);
    
    			sprintf(filename, "frame%i.jpg", i++);
    
    			cvSaveImage(filename, pImg);
    
    		}
    
    		cvReleaseImage(&pImg);
    
    		cvReleaseCapture(&pCapture);
    
    	}
    
    

    Почему через cvShowImage не выводится в окно - для меня загадка.


  2. Вы лучше проверьте pCapture.

    Может еще проблема со слешами в адресе.

    Я проверяю во второй сроке:

    	if (pCapture != NULL)
    Или нужно как-то по-другому? Кстати заметил, что вызов cvCreateFileCapture занимает очень много времени. Если подождать, то выполнение всё-таки проходит дальше. При этом в консоль выводятся сообщения типа:
    [mjpeg @ 00b91800]Estimating duration from bitrate, this may be inaccurate
    
    [mjpeg @ 00d53fc0]Estimating duration from bitrate, this may be inaccurate


  3. Кто-нибудь знает, как получить доступ к IP-камере в OpenCV 2.3.0? Пробовал таким способом:

    	CvCapture *pCapture = cvCreateFileCapture("http://192.168.1.17:80/video1.mjpg");
    
    	if (pCapture != NULL)
    
    	{
    
    		int nFrameWidth = cvGetCaptureProperty(pCapture, CV_CAP_PROP_FRAME_WIDTH);
    
    		int nFrameHeight = cvGetCaptureProperty(pCapture, CV_CAP_PROP_FRAME_HEIGHT);
    
    		IplImage *pImg = cvCreateImage(cvSize(nFrameWidth, nFrameHeight), IPL_DEPTH_8U, 3);
    
    		cvNamedWindow("cam view");
    
    		while (true)
    
    		{
    
    			pImg = cvQueryFrame(pCapture);
    
    			cvShowImage("cam view", pImg);
    
    		}
    
    		cvDestroyWindow("cam view");
    
    		cvReleaseImage(&pImg);
    
    		cvReleaseCapture(&pCapture);
    
    	}

    В окне cam view ничего не показывается, хотя под отладчиком проверял значение pImg и оно не нулевое.

×