程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 視頻動態庫測試及心得

視頻動態庫測試及心得

編輯:關於C++

這幾天一直在弄動態庫測試,h給的寫好的動態庫--預處理模塊的庫。視頻處理項目一部分,需要連接實際情況測試。

需求:

1.把實際相機連接到,並讀取實時數據流,保存到雙循環鏈表裡面;

2.測試背景建模的功能效果;

3.預處理四個數據(圖像)顯示結果;

4.測試實時處理多攝像頭效果顯示。

前幾天一直寫攝像頭數據接受模塊,寫的還算順利,因為之前做過的項目自己寫過DVR多通道的接受數據,而且還單獨另寫了讀取網絡攝像頭的實時數據,所以一天搞定了,並顯示原始圖像正常。

由於h給了接口文檔說明,直接調用了動態庫,update更新背景接口,測試用opencv顯示沒有多大問題,繼續測試預處理模塊、顯示,也花了一天的時間,晚上因為搞定了,第二天連續寫了雙通道顯示,也顯示正常,不過下午發現了一個嚴重的錯誤,運行一段時間程序就崩潰了,郁悶了好幾天,測試了好多辦法,這個也是在測試程序中最頭痛的事情。最終發現時因為memcpy函數接受目標和源數據大小不一致造成的,最主要原因應該是設備傳輸大小圖像幀變化了,不知道什麼原因,(猜測可能是海康DVR和不是海康攝像頭兼容問題)。後面又遇到中斷,是因為可能同時刪除了兩次,線程同步問題,加了鎖,沒了問題,不過後來我使用了拷貝構造函數,也沒有問題。

測試程序發現問題及總結:

1. 首先要對你寫的程序的功能要理解,知道你測試的代碼的實現什麼要求的;

2.分析你代碼裡面有幾個類及結構,了解大致功能及接口實現,邏輯結構;

3.要分段測試,分模塊檢測,不然很麻煩;

4.程序指針很麻煩,要清楚自己那些指針是干嘛的,特別類之間的傳遞,記錄好,不然釋放會導致你想不到的錯誤,調試半天沒有結果;

5.初始化問題要引起注意,不然類似4一樣的郁悶;

6.IDE提示很重要,不要捨棄每一個錯誤中斷信息,可能就是要修改的地方,我的就是這個原因,之前沒注意vs的中斷提示錯誤,郁悶半天,實在沒辦法檢查了vs中斷錯誤,果然就是那個原因;

7.最後,心態很重要,千萬不要心浮氣躁,慢慢來,相信會解決的,實在想不出出去散散心,回頭可能想出來了。

筆者在此測試庫心得共勉一下,謝謝。

作者:cnblogs zCoderJoy

返回欄目頁:http://www.bianceng.cn/Programming/cplus/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved