原创 Adjust structure size to power of two

當程序中出現結構數組的時候,編譯器是通過執行與結構數組的大小的乘法來索引數組元素的。因此,如果結構數組大小是2的倍數,那麼以上的乘法就變成inexpensive shift operations了,這樣讓結構數組保持Align於2對提高數

原创 儘量使用new/delete操作符,而不是malloc/free來分配內存-------Effective C++學習筆記

malloc和free完全可以正確的分配和釋放內存,但是缺點是他們並不知道構造函數和析構函數的存在,因此在分配對象的內存時並不會執行初始化操作,在釋放內存時也不會執行像C++裏對應的析構函數。而new/delete操作符則更加智能,他們

原创 三角形的平移&旋轉&縮放程序(基於OPENCV)

旋轉和縮放程序都是可以任意指定基準點的,代碼如下: #ifndef __TRIANGLE__H_ #define __TRIANGLE__H_ //三角形圖像對象頭文件 #include <cv.h> #include <cxcore.

原创 Depth of Field Math

Definitions: DOF = depth of field This is the range of acceptable focus in the object space. Don’t confuse this with d

原创 基於OpenCV的三次多項式曲線擬合

現給定N個數據樣本集{xi, yi}, i = 0, 1, .... , N-1, 求出一條三次多項次曲線,以最小誤差擬合該樣本集。數學推導如下:   (1)設需要擬合的多項式爲: 求出擬合的多項式只需要求出參數a0, a1, a2,

原创 一種迭代求最優閾值的算法

算法流程如下: 1 假設沒有有關物體確切位置的信息,作爲第一步近似,可以考慮將初始閾值設定爲圖像的平均灰度,這樣做是合理的,因爲,物體與背景往往有很明顯的灰度差,其平均灰度一定在背景灰度和物體灰度之間。   2 在第t步,分別計算背景和物

原创 運動目標檢測、陰影檢測及目標跟蹤中用得到的標準測試視頻下載

1. PETS2001的測試視頻http://www.filewatcher.com/b/ftp/ftp.cs.rdg.ac.uk/pub/PETS2001.0.0.html內容如下,可以得到如下所示5個DATASET,有訓練和測試視頻:

原创 Figuring Field of View Mathematically

For Linescan and Non-Standard cameras or Non-Standard lenses including extension tubes The basic lens formula is f =

原创 調用new/delete時究竟發生了什麼----Effective C++學習筆記

string *str1 = new string; string *str2 = new string[100];   上面的代碼分別爲str1和str2分配指定的內存。當調用new 操作符時,有兩件事發生了: 第一: 首先編譯器調用o

原创 採用遞歸去掉string裏面的所有空格

string& trim(string &str, string::size_type pos) { static const string delim = " "; //刪除空格或者tab字符 pos = str.fin

原创 以二進制輸出整型數

以二進制輸出整型數的基本原理就是使用C++的移位運算法得到每位的二進制數,由於整型數在內存中是以二進制數表示的,因此負數的最高位爲1,單純的移位操作對負數將會造成死循環,-1》1的結果還是-1,因此,可以通過增加計數來解決!程序如下:

原创 貝葉斯定理及典型應用

  貝葉斯定理(Bayes' theorem) 它是概率論中的一個結果,它跟隨機變量的條件概率以及邊緣概率分佈有關。在有些關於概率的解說中,貝葉斯定理(貝葉斯更新)能夠告知我們如何利用新證據修改已有的看法。 通常,事件A在事件B(發生)的

原创 Matlab GUI設計相關

最近幫人家做一個圖像加密的算法,並且設計一個簡單的GUI。由於之前都沒用過Matlab 來設計 GUI,因此碰到了很多麻煩。 (1)Matlab的全局變量 整個軟件很多時候需要共享變量,因此合理的方法就是把共享的變量設置爲全局的。在ma

原创 Free C++ (and C) Programming Tools

Free C & C++ Compilers and IDE'sNon-free C++ Compilers and IDE'sFree DebuggersFree C++ GUI LibrariesFree C++ Network Li

原创 VxWorks驅動程序開發指南(四)--驅動程序的組織結構

驅動程序的組織結構 驅動程序最重要的部分就是驅動程序源代碼文件,源文件描述了設備如何和VxBus、VxWorks OS交互。但是,VxWorks 設備驅動程序還需要另外一些文件,這些附加文件能夠幫助你將自己編寫的驅動集成到VxWorks編