2011-11-17 153 views
1

我買了IP攝像機,它似乎沒有品牌的盒子,但它通過瀏覽器檢查時正常工作。我想用它來抓取它的一些框架。在盒子上,它說,它允許我抓取數據爲mjpeg流,但實際上我不能這樣做。我之前用其他網絡攝像機做過,而且一切正常 - 直到現在。OpenCV和IP攝像機連接 - 我的攝像機型號

這是我的代碼 - 如果它幫助你解決或讓我看到方式。

#include <OpenCV/cv.h> 
#include <OpenCV/highgui.h> 

CvCapture *kamera = NULL; 
CvMemStorage *pamiec = NULL; 
CvSeq *zakreslenia = NULL; 

    IplImage *klatka = 0; 
     IplImage *szary = 0; 

char *nazwa1 = "Orginalna klatka"; 
char *nazwa2 = "Po zmianach"; 
int main() 

{ 
    kamera = cvCaptureFromFile("http://kni:[email protected]:80/image.jpg");kamerki w systemie 
    if(kamera!=NULL) 
    { 
    cvNamedWindow(nazwa1,CV_WINDOW_AUTOSIZE); 
    cvNamedWindow(nazwa2,CV_WINDOW_AUTOSIZE); 
    pamiec = cvCreateMemStorage(0); 

    while((klatka=cvQueryFrame(kamera)) != NULL)  
    { 
    szary = cvCreateImage(cvGetSize(klatka),8,1); 
    cvCvtColor(klatka,szary,CV_BGR2GRAY);    
    cvSmooth(szary, szary, CV_GAUSSIAN_5x5,9,9,0,0);  
    cvCanny(szary,szary,0,20,3);      
    zakreslenia = cvHoughCircles(szary,pamiec,CV_HOUGH_GRADIENT,2,szary->height/4,100,100,0,1000); 

    cvShowImage(nazwa1,klatka); 
    cvShowImage(nazwa2,szary); 

    if(cvWaitKey(1)==(char)27)break; 

    } 

    cvReleaseImage(&szary); 
    cvReleaseImage(&klatka); 

    cvReleaseMemStorage(&pamiec); 
    cvDestroyWindow(nazwa1); 
    cvDestroyWindow(nazwa2); 


    cvReleaseCapture(&kamera); 
    cvWaitKey(0); 
    } 


    return 0;//bo jestem miły dla systemu i informuję go o braku błędów 

} 

我不知道該怎麼辦 - 我應該返回那個凸輪來存儲或編寫自定義應用程序來抓取框架嗎?

我認爲這可能與image.jpg文件/ cachebust一個上月底= 117434456 &工作,但它不會改變任何東西

相機被分配到ip 83.15.3.69與登錄KNI並通過blashyrkh所以你'允許檢查它。

等待您的回覆...

+0

不是一個愚蠢的,但看到http://stackoverflow.com/questions/712998/opencv-with-network-cameras –

+1

*我買了IP攝像頭,似乎沒有包裝盒上的品牌* - 我發現相機正在工作是一個奇蹟。 – karlphillip

回答

2

據我所知,使用OpenCV的與IP攝像機的可能性是無證(和意外)功能,和它的作品只是因爲ffmpeg的(它的後臺)支持IP傳輸的RTP 。

問題是,它只適用於未加密的流(所以如果你的相機沒有密碼,它應該可以工作。)當你發送密碼時,它沒有被正確處理,並且ffmpeg沒有收到預期路徑字符串。

您可以測試它試圖連接使用VLC。你也可以使用Wireshark來檢查攝像機和OpenCV之間的消息傳輸。 (過濾與ip.addr == your_camera_ip)

+0

感謝馬丁,我之前讀過它,但我的伴侶張貼我sych代碼 這讓我滿意,也許有人會幫助它有用,所以我張貼。 順便說一句,當我正在研究他的代碼時,我看到url結尾應該是jpeg,而不是像這樣的jpg: 現在它工作正常。 –