海康威視的球形攝像頭技術研究
1.從官方網站上下載SDK工具包;
win64和linux32是上位機需要驗證的版本;
WIN64:
a .C#程式碼驗證成功
在windows(64位)下,Vs2015進行c#程式碼驗證沒有問題。但是MFC的程式碼執行出錯;
b. MFC綜合示例驗證成功
重新安裝vs2013以及vc_mbcsmfc.exe;
重新解壓win64的SDK壓縮檔案,Demo示例-》1.MFC綜合示例,找到.sln工程檔案,雙擊開啟工程,執行之後,生成exe在../../庫檔案中;驗證成功;
c .MFC分功能示例驗證成功
安裝vs2008(VS2008ProEdition90DayTrialCHSX143):
開啟dsw檔案,將編譯平臺改為x64,都在出現以下錯誤:
“error LNK2019: 無法解析的外部符號”之分析
如果出現以下錯誤:
vs2008上編譯執行程式時出現:LINK:fatal error LNK1000: Internal error during IncrBuildImage。但該錯誤只會在第一次編譯執行時出現
解決方案如下:
專案->屬性->連結器->常規 下面的“啟用增量連結”,將“是(/INCREMENTAL)”改為“否(/INCREMENTAL:NO)”。
不過這又引入了另外一個警 告:FormatCom.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由於“/INCREMENTAL:NO”規範)
選擇專案,屬性->配置屬性 ->C/C++,修改“除錯資訊格式”為“程式資料庫(/Zi)”即可。
驗證成功;
d.QT程式碼驗證
LINUX 32(搭建環境:ubuntu14.4 +qt4.8.5 +qtcreater2.4.1):
虛擬機器下qt為4.8.5版本,qtcreater版本不知道
將lib庫檔案的內容拷貝到各個文夾下;
修改/etc/profile檔案,增加庫的路徑,之後執行source指令;
在qt工程的pro檔案中新增QTgui的路徑。
開啟工程之後編譯出現一系列錯誤並進行如下解決:
問題一:/mnt/hgfs/qT/Linux32/QtDemo/src/MainWindow/DeviceTree/DeviceAttr/deviceattr.h:13: error: QtGui/QDialog: No such file or directory
#include <QtGui/QDialog>
解決方法:
INCLIDEPATH+= /usr/local/Trolltech/QtEmbedded-4.8.5-arm/include
發現/usr/local/Trolltech/QtEmbedded-4.8.5-arm/include/QtGui/下沒有QDialog.h,有qdialog.h;名字大小寫沒對上;
問題二:
error could not decode with UTF-8:
解決方法:在Ubuntu下生成GBK或GB2312的locale.具體方法如下:
1.修改/var/lib/locales/supported.d/local檔案,在檔案中新增
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
2.sudo dpkg-reconfigure --force locales
然後在輸出的結果中會出現
zh_CN.GB2312 done
zh_CN.GBK done
問題3:
/usr/include/qt5/QtWidgets/qheaderview.h:141: error: missing binary operator before token "("
#if QT_DEPRECATED_SINCE(5, 0)
解決:找不到巨集定義,應該是QT的環境不對。
安裝qt4.8.0,make出錯,放棄;
安裝qt_creater 2.4.1之後執行工程,雖然有警告,但是可編譯執行;
可執行檔案目錄:
執行正常,截圖如下:
輸入賬戶密碼登入進入之後,preview進行play操作就可以顯示實時影象;
2.下載ivms-4200視訊工具
登陸攝像頭進行連線,能夠實施顯示影象;
設定移動偵測和鏡頭遮擋等功能;
可以增加攝像頭的聯動告警;