捕獲海康威視IPCamera圖像,轉成OpenCV可以處理的圖像(二)
標簽:?捕獲圖像海康威視IPCameraOpenCVIplImage 2014-06-16 18:59?
15424人閱讀??
收藏?
舉報 版權聲明:本文為博主原創文章,未經博主允許不得轉載。
http://blog.csdn.net/wanghuiqi2008/article/details/31410509
海康威視IPCamera圖像捕獲
捕獲海康威視IPCamera圖像,轉成OpenCV可以處理的IplImage圖像(一)
捕獲海康威視IPCamera圖像,轉成OpenCV可以處理的IplImage圖像(二)
所使用海康威視攝像頭型號:DS-2CD4026FWD-(A)(P)
海康威視IPCamera圖像捕獲方法有兩種:
(1)利用SDK里面的NET_DVR_CaptureJPEGPicture_NEW進行視頻抓圖
(2)捕獲實時流,將實時流解碼成YV12,然后轉換成RGB
在上一篇博文里,我介紹了第一種方法,但是由于NET_DVR_CaptureJPEGPicture_NEW該函數執行需要較長時間,無法實時,所以必須繼續第二種方法。
在這篇博文里,我將介紹第二種方法,將捕獲到的海康威視IPCamera攝像頭圖像轉成OpenCV能處理的IplImage圖像。
在實現完捕獲海康威視IPCamera圖像,轉成OpenCV可以處理的IplImage圖像(一)里面的方法后,發現不能實時,這個系統我是要做給給人看的,是需要實時演示的,這樣子肯定是不行的。糾結了好久!然后查看海康威視《設備網絡SDK使用手冊_V4.2》,里面有一個預覽模塊示例程序,可惜我一直運行不了,報出的錯誤是PROCGETCONSOLEWINDOW GetConsoleWindow中的GetConsoleWindow被重定義,后來一直調試沒調成功。
實在是沒轍了,打海康客服,不過海康的客服我實在無語,北京的完全無法接通,直接打杭州的,打了四五遍終于有個人接電話了,對方不懂,然后說讓個工程師回電話。OK,終于回了。他告訴我http://www.hikvision.com/cn/download_more_401.html?這里是有例程的,有分功能示例!突然間有了希望了,例程是VC6.0工程,改了一些地方后,終于能運行了。于是,將他的MFC工程相關的代碼摳出來,重組。于是實現了捕獲YV12格式的視頻流的功能,光有YV12還是不行的,需要將YV12轉成YUV4:4:4的,然后再將YUV色度空間轉換成RGB色度空間,這個過程是在信件的DecBFun回調函數(回調函數請看這里!)里面執行的。
不多說了,上代碼!
[cpp]?view plaincopy print?
#include?<cstdio>?? #include?<cstring>?? #include?<iostream>?? #include?"Windows.h"?? #include?"HCNetSDK.h"?? #include?"PlayM4.h"?? #include?<opencv2\opencv.hpp>?? #include?"cv.h"?? #include?"highgui.h"?? #include?<time.h>?? #define?USECOLOR?1?? using?namespace?std;?? using?namespace?std;?? ?? ?? int?iPicNum=0;?? LONG?nPort=-1;?? HWND?hWnd=NULL;?? ?? ?? void?yv12toYUV(char?*outYuv,?char?*inYv12,?int?width,?int?height,int?widthStep)?? {?? ???int?col,row;?? ???unsigned?int?Y,U,V;?? ???int?tmp;?? ???int?idx;?? ?? ???? ?? ???for?(row=0;?row<height;?row++)?? ???{?? ??????idx=row?*?widthStep;?? ??????int?rowptr=row*width;?? ?? ??????for?(col=0;?col<width;?col++)?? ??????{?? ??????????? ?????????tmp?=?(row/2)*(width/2)+(col/2);?? ?? ?? ?? ?? ?? ?????????Y=(unsigned?int)?inYv12[row*width+col];?? ?????????U=(unsigned?int)?inYv12[width*height+width*height/4+tmp];?? ?????????V=(unsigned?int)?inYv12[width*height+tmp];?? ?? ?? ?? ?? ?? ?? ?????????if((idx+col*3+2)>?(1200?*?widthStep))?? ?????????{?? ???????????? ?????????}??? ?????????outYuv[idx+col*3]???=?Y;?? ?????????outYuv[idx+col*3+1]?=?U;?? ?????????outYuv[idx+col*3+2]?=?V;?? ??????}?? ???}?? ????? }?? ?? ?? ?? ?? void?CALLBACK?DecCBFun(long?nPort,char?*?pBuf,long?nSize,FRAME_INFO?*?pFrameInfo,?long?nReserved1,long?nReserved2)?? {?? ????long?lFrameType?=?pFrameInfo->nType;??? ?? ????if(lFrameType?==T_YV12)?? ????{?? #if?USECOLOR?? ?????? ????IplImage*?pImgYCrCb?=?cvCreateImage(cvSize(pFrameInfo->nWidth,pFrameInfo->nHeight),?8,?3);?? ????yv12toYUV(pImgYCrCb->imageData,?pBuf,?pFrameInfo->nWidth,pFrameInfo->nHeight,pImgYCrCb->widthStep);?? ????IplImage*?pImg?=?cvCreateImage(cvSize(pFrameInfo->nWidth,pFrameInfo->nHeight),?8,?3);???? ????cvCvtColor(pImgYCrCb,pImg,CV_YCrCb2RGB);???? ?????? #else?? ????IplImage*?pImg?=?cvCreateImage(cvSize(pFrameInfo->nWidth,pFrameInfo->nHeight),?8,?1);???? ????memcpy(pImg->imageData,pBuf,pFrameInfo->nWidth*pFrameInfo->nHeight);??? #endif?? ?????? ????cvShowImage("IPCamera",pImg);?? ????cvWaitKey(1);?? #if?USECOLOR?? ????cvReleaseImage(&pImgYCrCb);?? ????cvReleaseImage(&pImg);?? #else?? ????cvReleaseImage(&pImg);?? #endif?? ?????? ?????? ????}?? ????? ? ? ? ? ? ? ? ? ? ?? ?? }?? ?? ?? ?? void?CALLBACK?fRealDataCallBack(LONG?lRealHandle,DWORD?dwDataType,BYTE?*pBuffer,DWORD?dwBufSize,void?*pUser)?? {?? ????DWORD?dRet;?? ????switch?(dwDataType)?? ????{?? ????case?NET_DVR_SYSHEAD:?????? ????????if?(!PlayM4_GetPort(&nPort))??? ????????{?? ????????????break;?? ????????}?? ????????if(dwBufSize?>?0)?? ????????{?? ????????????if?(!PlayM4_OpenStream(nPort,pBuffer,dwBufSize,1024*1024))?? ????????????{?? ????????????????dRet=PlayM4_GetLastError(nPort);?? ????????????????break;?? ????????????}?? ?????????????? ????????????if?(!PlayM4_SetDecCallBack(nPort,DecCBFun))?? ????????????{?? ????????????????dRet=PlayM4_GetLastError(nPort);?? ????????????????break;?? ????????????}?? ?????????? ?????????????? ?????????????? ?????????????? ?????????????? ?????????????? ?????????????? ?? ?????????????? ????????????if?(!PlayM4_Play(nPort,hWnd))?? ????????????{?? ????????????????dRet=PlayM4_GetLastError(nPort);?? ????????????????break;?? ????????????}?? ?? ?????????????? ????????????if?(!PlayM4_PlaySound(nPort))?? ????????????{?? ????????????????dRet=PlayM4_GetLastError(nPort);?? ????????????????break;?? ????????????}????????? ????????}?? ????????break;?? ?????????? ????case?NET_DVR_STREAMDATA:????? ????????if?(dwBufSize?>?0?&&?nPort?!=?-1)?? ????????{?? ????????????BOOL?inData=PlayM4_InputData(nPort,pBuffer,dwBufSize);?? ????????????while?(!inData)?? ????????????{?? ????????????????Sleep(10);?? ????????????????inData=PlayM4_InputData(nPort,pBuffer,dwBufSize);?? ????????????????OutputDebugString(L"PlayM4_InputData?failed?\n");????? ????????????}?? ????????}?? ????????break;???? ????}????????? }?? ?? void?CALLBACK?g_ExceptionCallBack(DWORD?dwType,?LONG?lUserID,?LONG?lHandle,?void?*pUser)?? {?? ????char?tempbuf[256]?=?{0};?? ????switch(dwType)??? ????{?? ????case?EXCEPTION_RECONNECT:?????? ????printf("----------reconnect--------%d\n",?time(NULL));?? ????break;?? ????default:?? ????break;?? ????}?? }?? ?? void?main()?{?? ?? ???? ???? ??NET_DVR_Init();?? ???? ??NET_DVR_SetConnectTime(2000,?1);?? ??NET_DVR_SetReconnect(10000,?true);?? ???? ???? ???? ???? ???? ?? ???? ???? ??LONG?lUserID;?? ??NET_DVR_DEVICEINFO_V30?struDeviceInfo;?? ??lUserID?=?NET_DVR_Login_V30("10.102.7.88",?8000,?"admin",?"12345",?&struDeviceInfo);?? ??if?(lUserID?<?0)?? ??{?? ???????printf("Login?error,?%d\n",?NET_DVR_GetLastError());?? ???????NET_DVR_Cleanup();?? ???????return;?? ??}?? ?? ???? ???? ??NET_DVR_SetExceptionCallBack_V30(0,?NULL,g_ExceptionCallBack,?NULL);?? ?? ?? ???? ???? ???? ??NET_DVR_CLIENTINFO?ClientInfo;?? ??ClientInfo.lChannel?=?1;?????????? ??ClientInfo.hPlayWnd?=?NULL;??????? ??ClientInfo.lLinkMode?=?0;????????? ??ClientInfo.sMultiCastIP?=?NULL;?? ???? ??LONG?lRealPlayHandle;?? ??lRealPlayHandle?=?NET_DVR_RealPlay_V30(lUserID,&ClientInfo,fRealDataCallBack,NULL,TRUE);?? ??if?(lRealPlayHandle<0)?? ??{?? ????printf("NET_DVR_RealPlay_V30?failed!?Error?number:?%d\n",NET_DVR_GetLastError());?? ????return;?? ??}?? ?? ???? ??Sleep(-1);?? ?? ???? ???? ???? ??if(!NET_DVR_StopRealPlay(lRealPlayHandle))?? ??{?? ????printf("NET_DVR_StopRealPlay?error!?Error?number:?%d\n",NET_DVR_GetLastError());?? ????return;?? ??}?? ???? ??NET_DVR_Logout(lUserID);?? ??NET_DVR_Cleanup();?? ?? ??return;?? }??
終于能夠實時捕獲圖像了,而且轉換成了OpenCV能夠處理的圖像格式。
在這個過程中搜了很多資料,但是沒有一個地方能詳細說明,不過最終還是把這個給解決了。
?
附加說明:如果最后要做圖像處理而不是像我這樣只是將采集的圖像顯示出來,那么下面的語句是不需要的。
#if?USECOLOR?? ????cvReleaseImage(&pImgYCrCb);?? ????cvReleaseImage(&pImg);?? #else?? ????cvReleaseImage(&pImg);?? #endif?? ?
?后記:雖然這個功能實現了,但是與我的圖像處理函數如何結合到一起?我想到的是用鏈隊列,雙線程。鏈隊列代碼請看這里!
?
寫這兩篇博文的目的其實也是想讓處于探索過程中的開發人員能少走些彎路,節省些時間,衷心希望本文能夠幫到你!
因為本人已經畢業,項目也早就已經結題了,手頭上不再具有可供調試的硬件設備,因此對于大家所碰到的問題,我基本上也已經無法回答了,非常抱歉!如果大家在開發海康威視攝像頭的過程中遇到了什么問題可以去跟海康客服去溝通,如果您所在地區的客服無法聯系上的話,請直接聯系杭州總部的客服。
最后,對之前很長一段時間對大家所提出的問題一直置之不理再次表示道歉!謝謝大家的支持!
**************************************************************************************
轉載請注明出處:http://blog.csdn.net/wanghuiqi2008/article/details/31410509
**************************************************************************************
頂
25 踩
0 - 上一篇捕獲海康威視IPCamera圖像,轉成OpenCV可以處理的圖像(一)
- 下一篇內存IplImage圖像鏈隊列實現
猜你在找 Python編程基礎視頻教程(第五季) Python編程基礎視頻教程(第七季) Swift視頻教程(第三季) C++語言基礎 Cocos2d-Lua手游開發基礎篇 OpenCV中讀取RGB格式圖像轉成HSV格式圖像顯示 海康威視采集卡結合opencv使用兩種方法 opencv讀取海康威視攝像頭 OpenCV+海康威視攝像頭的實時讀取 海康威視API-單幀數據捕獲并保存成JPEG圖片NET_DVR_CaptureJPEGPicture
id="iframeu1607657_0" src="http://pos.baidu.com/scqm?rdid=1607657&dc=2&di=u1607657&dri=0&dis=0&dai=1&ps=8761x361&dcb=BAIDU_SSP_define&dtm=HTML_POST&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1477751311208&ti=%E6%8D%95%E8%8E%B7%E6%B5%B7%E5%BA%B7%E5%A8%81%E8%A7%86IPCamera%E5%9B%BE%E5%83%8F%EF%BC%8C%E8%BD%AC%E6%88%90OpenCV%E5%8F%AF%E4%BB%A5%E5%A4%84%E7%90%86%E7%9A%84%E5%9B%BE%E5%83%8F%EF%BC%88%E4%BA%8C%EF%BC%89%20-%20%E9%9B%AA%E6%B0%B4%20-%20%E5%8D%9A%E5%AE%A2%E9%A2%91%E9%81%93%20-%20CSDN.NET&ari=2&dbv=2&drs=1&pcs=1498x618&pss=1499x8780&cfv=0&cpl=45&chi=1&cce=true&cec=UTF-8&tlm=1477751311&rw=618<u=http%3A%2F%2Fblog.csdn.net%2Fwanghuiqi2008%2Farticle%2Fdetails%2F31410509<r=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D332DJISDRtqcRYm4hJQ12oUI85XAzvyRlYvwLdFInpApMIyfkzCUaPjtUW-sHSePezi2Fv9HNKXsrzSl8ClvMd8NpxV1eRhifuxdsPPysnu%26wd%3D%26eqid%3Df1d003ec00028201000000045814b21a&ecd=1&psr=1366x768&par=1366x706&pis=-1x-1&ccd=24&cja=true&cmi=158&col=zh-CN&cdo=-1&tcn=1477751311&qn=ef8ad61fca55e13e&tt=1477751310992.222.228.231" width="728" height="90" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="border-width: 0px; border-style: initial; vertical-align: bottom; margin: 0px;">
28樓?
LHY_045?2016-05-22 21:37發表?[回復]我有一個問題,我認為隊列種的圖像處理的速度比攝像頭寫入的速度慢,因為如果作人臉識別或者是行人識別那么處理速度會很慢,寫入的速度快的話會造成隊列的長度越來越大,這個問題怎么解決??? 27樓?
qq_32414847?2016-03-12 15:39發表?[回復]如果不用Opencv處理,用C++實現,請問大概流程? 26樓?
竹齋?2016-03-11 00:12發表?[回復]調取解碼之后,不知道怎么調用做接下來的圖像處理啊,麻煩大神給我指點一下啊,萬分感謝! 25樓?
wangfei198857?2016-01-06 13:55發表?[回復]樓主你好!請問你的代碼運行在什么環境?
我的在VC6.0 + opencv1.0下報錯
error C2664: 'OutputDebugStringA' : cannot convert parameter 1 from 'unsigned short [26]' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
請問樓主的#include <opencv2\opencv.hpp>是opencv2版本的嗎? 24樓?
qq_33021543?2015-12-22 14:46發表?[回復]樓主,我在控制臺運行時,運行一段時間,就會出現error happened,輸出錯誤是PlayM4_InputData failed.您知道這是因為什么嗎?請您有時間回復一下,或者qq1498177249,謝謝了 23樓?
fangice66?2015-10-22 17:19發表?[回復]樓主,想問下一直提示playM4_InputData failed怎么解決呀 Re:?invadertroy?2015-11-27 10:19發表?[回復]回復fangice66:之前這個問題你解決了嗎?想請教你一下 22樓?
dimaliu?2015-09-15 11:25發表?[回復]把上面的代碼貼上去之后,回調函數進去了,但是播放器回調進不去。控件不顯示視頻,opencv也不顯示。不知道為什么,哪位能幫我解決下該問題 Re:?invadertroy?2015-11-26 16:46發表?[回復]回復dimaliu:你好,回調函數進不去的問題你解決了嗎?我最近用這個也是碰到這個問題! 21樓?
止的不是戰?2015-09-10 21:11發表?[回復]博主,為什么在運行了這個程序后,出現了一個窗口,不顯示視頻,然后很快就自動退出了? Re:?a496817765?2015-09-11 09:22發表?[回復]回復止的不是戰:有可能你攝像頭IP設置錯誤了,我也有遇到這個情況 Re:?止的不是戰?2015-09-12 12:34發表?[回復]回復a496817765:IP地址已經改了,還是這樣。496817765是你扣扣嗎?能交流一下嗎? 20樓?
a496817765?2015-09-10 16:37發表?[回復]博主,你的程序我調試通過可以運行起來,但是運行一段時間后直接會在console中提示error happened.
然后在輸出調試中提示PlayM4_InputData failed?
這個是什么問題導致的?內存溢出嗎? Re:?a496817765?2015-09-17 14:27發表?[回復]回復a496817765:詢問了海康的技術人員,還有查看了相關的SDK文檔,在實時解碼回調方法中進行長時間操作會導致解碼回調方法阻塞,這里是將獲取的數據取到回調方法外部進行處理。 Re:?qq_33021543?2015-12-22 14:41發表?[回復]回復a496817765:請問針對這個問題您是怎么解決的,真的很需要您的幫助,謝謝了,請您有空回復我一下,或者我的qq1498177249,謝謝了 19樓?
li367383592?2015-08-18 17:22發表?[回復]您好,我用您的程序運行后,能注冊,但運行后顯示NET_DVR_RealPlay_V30 failed! Error number:107,是什么原因呢? Re:?a496817765?2015-09-10 15:58發表?[回復]回復li367383592:詢問過海康那邊,錯誤代碼107是因為SDK庫文件導入不全。 18樓?
不要做程序員的小松鼠?2015-08-13 09:18發表?[回復]不知道樓主還記得不,海康給的例子是不是有內存泄漏? Re:?雪水?2015-08-15 13:20發表?[回復]回復不要做程序員的小松鼠:當時我也沒有仔細研究他們給的例程,只是根據他們的例程將整個流程打通了。 17樓?
shhdgl?2015-04-18 15:33發表?[回復]很不錯,學習了,但是用主碼流我的延時很大,差不多有40~50s的樣子,這個跟電腦的配置很有關系的吧? Re:?hnu2016?2016-05-26 07:14發表?[回復]回復shhdgl:這個主要是上面的yv12toYUV函數與cvtColor這兩個函數造成的,所以延時很大,特別是在用主流時,傳回來的圖像特別的大,處理起來很麻煩 16樓?
zhaozhaoni?2015-03-24 10:11發表?[回復]樓主你好!感謝分享!!
我用這段程序運行看不到視頻,只卡在黑色DOS界面上,感覺在不停取幀,但是沒有顯示,是怎么回事?
PS:我用的是openCV 1.0 ,跟這個有關嗎? 15樓?
kwanqueen?2015-02-02 17:22發表?[回復]感謝博主分享,但是我的有個問題,視頻很卡,什么原因? 14樓?
leifeng_soul?2015-01-30 13:52發表?[回復]正好在用海康像機進行二次開發,需要用到這個,收藏之,多謝樓主分享,有問題再咨詢 13樓?
kwanqueen?2015-01-29 16:58發表?[回復]無法打開包括文件:“PlayM4.h”,我也是下載的這個版本的SDK,求解決 Re:?shhdgl?2015-04-18 15:14發表?[回復]回復kwanqueen:這個應該是海康的庫更新了,現在變成了plaympeg4.h 12樓?
hxx_Helen?2015-01-22 10:32發表?[回復]博主你好,我用了你的程序得到的lRealPlayHandle是小于0的,控制臺上輸出的是“NET_DVR_RealPlay_V30 failed! Error number:84”,請問是什么原因呢? Re:?雪水?2015-01-24 16:04發表?[回復]回復hxx_Helen:84號錯誤對應的錯誤解釋:加載標準協議通訊庫StreamTransClient失敗。我感覺是你IP沒配好吧。你用海康威視自帶的軟件能否看到攝像頭視頻,如果可以看到再用這段代碼。 11樓?
sufangqi123?2014-12-30 19:22發表?[回復]我現在是想實時處理視頻并顯示人臉檢測結果,但是加上人臉檢測結果后根本無法實時顯示,請問樓主做過實時處理實時顯示的程序沒? Re:?雪水?2014-12-30 19:56發表?[回復]回復sufangqi123:我做的就是實時處理實時顯示。顯示的時候有幾秒鐘的絕對延時,但是確實是實時顯示的。
你的實時處理速度是否能跟得上采集速度,如果處理速度很慢,那么處理后在顯示出來,那當然顯示的不是實時的。 10樓?
plhrbust?2014-12-29 15:45發表?[回復]非常感謝 很實用 謝謝啦大牛 32個贊 9樓?
lonerzf?2014-12-07 15:41發表?[回復]樓主,我弄出來以后發現圖像大約會延時10S的樣子,請問您有出現這個問題嗎? Re:?雪水?2014-12-12 20:12發表?[回復]回復lonerzf:會有一定延時,但我的延時在5S以內的樣子。 8樓?
河海壹粟?2014-11-25 21:59發表?[回復]大神,我想請教你一個問題,我現在又兩個海康威視的網絡攝像機,請問怎么同時獲取兩路視頻流呢?
弄兩個回調函數?分別處理視頻流? 博主能給個交流qq嗎?謝謝了 Re:?雪水?2014-12-07 00:26發表?[回復]回復河海壹粟:我覺得開兩個線程就可以了。輸入不同的配置參數。 7樓?
lvl000?2014-09-29 09:42發表?[回復]樓主轉換格式后,出現卡頓現象了嗎?如何解決的? Re:?qq_22338395?2015-11-17 23:12發表?[回復]回復lvl000:請問您卡頓問題有沒有解決 Re:?雪水?2014-09-29 19:51發表?[回復]回復lvl000:卡頓是不是因為計算機CPU處理能力不夠,導致卡頓的?
用這種方法沒有出現卡頓現象的。 6樓?
此生-未名?2014-09-23 12:51發表?[回復]樓主好,請問您說的“是有例程的,有分功能示例” ,分功能示例是在哪 Re:?雪水?2014-09-29 19:52發表?[回復]回復此生-未名:看橘黃色字體,這些都是超鏈接的。里面有。 5樓?
ProMonkeySun?2014-09-16 20:31發表?[回復]樓主的代碼很好的實現了格式的轉換,我現在又遇到一個問題,我在使用兩個攝像機讀入兩路視頻,將兩個攝像機讀入的視頻圖像都實現上面的格式轉換,轉成opencv能處理的圖像,此時在使用回調函數時,無法區分兩個攝像機各自的圖像,也就是無法將兩路視頻分別顯示在兩個cvNamedWindow中,這個問題有什么解決方法嗎,感謝樓主!! Re:?雪水?2014-10-03 21:20發表?[回復]回復ProMonkeySun:建議你用兩個線程去處理。或者在回調函數的參數里加上一個標志位,顯示的時候判斷一下標志位。 4樓?
lvl000?2014-09-15 17:47發表?[回復]博主如何確定已經捕獲到視頻流的? Re:?雪水?2014-09-15 22:53發表?[回復]回復lvl000:imshow可以看得到視頻的 Re:?hnu2016?2016-05-26 07:17發表?[回復]回復雪水:請問樓主,取流回來后進行播放,不存在很大的延遲嗎,就是視頻變得一卡一卡的 Re:?lvl000?2014-09-16 10:22發表?[回復]回復雪水:或者博主能告訴海康demo中那個“實時流回調解碼獲取YUV”僅僅是獲取視頻流數據什么都不作為還是說捕獲后,存放于某個文件中 Re:?雪水?2014-09-16 22:07發表?[回復]回復lvl000:獲取到YUV后暫時是存在內存里面的,沒有做任何用途。要做什么事情,你得自己去定義 Re:?lvl000?2014-09-16 09:56發表?[回復]回復雪水:我的看不到視頻是怎么回事?我先是改海康給的demo里的分功能顯示,沒出現視頻,然后又copy你這個程序也沒顯示 3樓?
whj919?2014-08-20 11:13發表?[回復]謝謝樓主的分享,我這里也是實時性滿足不了,節省了我不少時間。 2樓?
peterpan_cafuc?2014-06-23 11:09發表?[回復]我目前要做的一個程序,需求正好和樓主一樣。
樓主這篇博文很有用,感謝分享! 1樓?
titer1?2014-06-18 14:55發表?[回復]
總結
以上是生活随笔為你收集整理的捕获海康威视IPCamera图像,转成OpenCV可以处理的图像(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。