原创 內存以及和堆棧有關的問題

一個由C/C++編譯的程序佔用的內存分爲以下幾個部分: 1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數名,局部變量的名等。其操作方式類似於數據結構中的棧。 2、堆區(heap)— 由程序員分配釋放, 若程序員不釋放,程序

原创 [轉]關於Thin Plate Spline (薄板樣條函數)

最近在看AAM(主動表現模型)時看到了,對於“Given corresponding points in two images, how do we warp one into the other?”這個問題可以用TPS方法進行紋理映射

原创 [轉]hog源碼分析

轉帖來自:http://www.cnblogs.com/tornadomeet/archive/2012/08/15/2640754.html 感謝作者! 一、網上一些參考資料        在博客目標檢測學習_1(用opencv

原创 智能指針scoped_ptr,shared_ptr,weak_ptr和auto_ptr的使用

通常在類中含有指針的話,需要對賦值操作符和拷貝構造函數進行重新定義,然而這些會引起一些歧義和不便,簡單來說,賦值操作符是將原內存區的地址賦給新對象還是令新對象開闢新的內存區,再把原內存區的值賦值到新內存區呢?如果是隻把地址賦給新對象,那什

原创 指針和引用的區別(附const指針)

先談一談const指針有關的內容。 主要有兩種: 1、指向const類型的指針(指針可以指向其他對象,但是指針指向的對象必須是const,不能被修改

原创 和鏈表有關的算法題(C++)

鏈表操作在面試中經常出現,這一方面考察了對指針的使用,以下整理了一些關於鏈表的面試題以及注意事項。 首先對單鏈表進行定義。 struct ListNode{ int val; ListNode *next; }; 關於

原创 二維數組、數組指針、指針數組和指針的指針分析(另數組的內存分配方式)

在這裏一共有四個概念:二維數組、數組指針、指針數組和指針的指針。 下面我們一個個來進行分析。 二維數組: int a[3][3] = {1,2,3,4,5,6,7,8,9}; 這個概念應該都很清楚,用起來也都很順手,a表示二維數組名,

原创 Mat中數據指針的使用

int righ = 0; for ( int k = 0; k < 200; k++) { pdata = (double*)arr.data + k * arr.step / sizeof(double); f

原创 談談intel的android計劃

衆所周知intel是芯片老大,但是卻爲何涉足軟件行業,想要在android這一領域分一杯羹呢? android是一種基於linux的自由以及開放源碼操作系統,主要應用於手機平板等產品,隨着智能手機的流行,平板的普及,android的市場佔

原创 淘寶推薦算法研究

研究涉及單方面的最優化,但是對於淘寶的推薦來說,我們需要把握整個推薦的大方向大數據量的平衡,因此,向用戶推薦商品有兩方面需要考慮:推薦方向和推薦準確率。 對於推薦的方向,不僅需要針對歷史來推薦還需要爲未來推薦,以下有三種推薦算法考慮。 1

原创 Float 內存存儲詳解

定點數表達法的缺點在於其形式過於僵硬,固定的小數點位置決定了固定位數的整數部分和小數部分,不利於同時表達特別大的數或者特別小的數。計算機系統採納了所謂的浮點數表達方式。這種表達方式利用科學計數法來表達實數,即用一個尾數(Mantissa也

原创 C++中異常處理與if判斷的問題

異常情況也就是對情況是否異常做出的判斷,那麼異常處理和if判斷語句有什麼區別呢?各有什麼好處? if-else 方式的好處在於更貼近與邏輯思維,性能優於Exception。相對於Exception,其缺點是,不適合OOP,語義不明顯,不

原创 Opencv中width和widthStep的區別

在Opencv的結構Iplimage中,widthStep並不一定等於width*nChannel*(數據類型所佔字節),這是因爲Opencv中對內存有管理的機制,這一機制會對內存進行對齊,也就是當每一行所佔的字節數不等於4的倍數時會自動

原创 socket的阻塞與非阻塞

其實阻塞與非阻塞區別很簡單。 我看着你,直到你幹完活!這個就是阻塞。你慢慢幹,幹完告訴我一聲!介個就是非阻塞。 也就是說這個發送和接收的進程是否選擇阻塞等待。如果阻塞等待,那隻能等到結果纔會返回(但是該線程可能被掛起)。選擇非阻塞,那就立

原创 非遞歸的二叉樹遍歷

http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html