研究生的畢業設計做的是運動目標的檢測,跟蹤,陰影去除,行為分析等方面的課題,可是這方面的視頻從哪裡來呢?網上是有很多的:運動目標檢測方面的:http://www.research.ibm.com/peoplevision/performanceevaluation.html大家經常使用的PetsD2TeC1之類的視頻就出自這裡。4個室外的視頻中,有兩個視頻的運動目標會被一棵大樹遮擋,剛好可以用來做目標跟蹤。室內視頻中,從1個人到3個人都有,可以做多人的目標跟蹤。1.Outdoor
首先,電腦中只有加法器,沒有減法器,所有的減去某個數,都是通過加上某個特定的數來實現的。具體的實現原理可以從日常生活中窺知:向左轉90度與向右轉270度是相同的。這是因為,這兩個數存在下面的關係:90+270 =
這一章講的是積分的應用。幾何應用程式套件括求面積、體積、弧長之類的;物理應用的典型例子是變力作功。其實同濟的《高等數學》在這裡講的也不錯,而且提綱挈領的提出了“微元法”,就是幾何應用或者物理應用,都是那麼一種思想,現在一小段上考慮情況,然後對整個部分進行積分。這本書中,還講了一些其他的內容,面積原理的基本思想,是將每一小段的面積與積分部分的面積相比得出的一些不等式,它的作用其實在於那些矩形的求和公式往往可以看成級數求和,級數求和問題往往是比較困難的;而對應的積分有時候很好求,這樣就能利用積分的斂
這段程式來自OpenCV教程,使用copyMakeBorder函數來給映像加上邊框:#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <iostream>using namespace std;using namespace cv;int main(){Mat
首先說明一點,不要被名字所誤導,優先隊列並不是一種排序餓演算法,而是一種資料結構。這個結構與一般的先入先出的隊列不同,它每次出隊的是優先順序最大的元素。當一個指定優先順序的元素入隊時,能夠很快的把它排到隊列中。把這兩個放在一起,是因為優先隊列是用堆排序的方法設計的。首先先看堆排序吧。堆是一個完全二叉樹。完全二叉樹我們之前已提過,就是它的前面是滿的,直到最後一層除外。最後一層從左邊起一直都有葉子,但是從某一個節點開始,這個節點的後面全都沒有葉子了。(用嘴說這個資料結構真費心,如果我沒說清楚,大家自
為什麼當類的成員有指標時,需要特別注意?因為當一個指標複製給另一個指標時,兩個指標指向同一個對象,使用二者之一修改指向的對象,更特殊的,如果使用一個指標刪除了對象時,另一個指標還以為對象存在,這就會造成很大的災難。通常有3種方法管理指標成員:1.常規管理。就是將一個指標複製給另一個指標,這樣做的好處是不需要額外定義複製控制,但是會出現前面所提到的問題。2.智能指標。雖然這些指標共用同一個資料,利用一個資料結構記錄了有多少指標指向這個資料。當只剩下一個指標指向這個資料時,才能進行刪除這個資料的操作
第二章講的是函數極限以及連續性的問題。但是開始卻先講了集合。的確,沒有集合、映射的概念,就沒有函數,但是拜託你第一章都可以對實數那麼囫圇吞棗的一筆帶過,這裡就不要僧裝嚴謹了吧,反正函數的概念中學也是學過的。與傳統的高等數學相比,多了一致連續性,函數的上下極限、混沌現象等內容。其中混沌現象貌似其他書裡面都沒講過,這裡也就是提了個概念。主要是證明3周期蘊含混沌的定理時,使用的都是數學分析的知識。這個取材讓我非常不解,這本書的目的,應該是以微積分為重點,快速掌握的微積分為目的的,何必講一個花裡胡哨的東
先看程式吧:(這也是我遇見的筆試題)#include <iostream>using namespace std;class Test1{public:void func(){cout<<"Test1"<<endl;}};class Test2{public:Test2(int i = 0):val(i){}void func(){cout<<val<<endl;}private:int val;};class
這一章講I/O。I/O本來是與作業系統高度相關的內容,但是這一章,卻從標準庫的角度,介紹了如何使用I/O。而把I/O的一些具體實現細節留在了最後一章中。首先需要注意的是,標準庫中的許多“函數”,都是宏,比如getchar、putchar()、tolower()等等。這樣做的目的是為了減小函數調用的開銷,想想也是,這些“函數”是對單個字元進行處理的,而電腦的輸入動輒上萬個字元,所以這樣設計,還是可以看出大牛們的高瞻遠矚。然後介紹一下已經用爛了的printf()函數,需要注意的是printf的傳回值
幾種排序演算法的比較:排序方法平均情況最好情況最壞情況輔助空間穩定性直接插入O(n^2)O(n)O(n^2)O(1)是希爾O(nlogn)~O(n^2)O(n^1.3)O(n^2)O(1)否冒泡O(n^2)O(n)O(n^2)O(1)是快速O(nlogn)O(nlogn)O(n^2)O(nlogn)~O(n)否簡單選擇O(n^2)O(n^2)O(n^2)O(1)是堆排序O(nlogn)O(nlogn)O(nlogn)O(1)否歸併O(nlogn)O(nlogn)O(nlogn)O(n)是
第三章講的是與導數相關的內容。首先是如何定義並計算導數,其次講了羅爾、拉格朗日、柯西三大中值定理。亮點是在後面又講了Darboux定理,即導函數的界值性以及無第一類間斷點。但是在我的印象中,利用中值定理證明存在性是一類題型,本科的高數老師還給我講過建構函式的技巧,但是這裡老師卻全然不提,未免有些遺憾。可能按照作者的觀點,有了Taylor定理之後,大部分能用中值定理做的題,Taylor定理都能做,所以對這裡的技巧就要求的低了一些吧。然後利用導數討論了單調性、極值、凸性。亮點是其中的幾個例子,書上給
對於某些類,我們可能需要定義1個全域對象。比如,我們想定義一個整形資料,來記錄一個類的某個函數調用的次數,或者統計一共建立了多少個這個類的對象。之前只能通過全域對象來實現,但是這樣做有一個明顯的缺點:全域對象會破壞類的封裝特性,任何代碼都可以修改這個全域對象,這是很不安全的。因此,C++中引入了類靜態成員,這個成員用static修飾。有一點念需要明確:static對象並不是某個類的成員,而是這個類共有的。如果我們把它設為私人成員,那麼類外的函數就不能對它訪問,從而實現了封裝。先看一個簡單的程式:
這一章與其說是UNIX系統介面,不如說是向你展示C語言是如何與UNIX緊密結合的。書中通過3個例子—編寫標準庫函數fopen、malloc與free和ls命令,向我們展示了如何實踐C語言,而不是編寫hello,world。不過很可惜,由於自己不是Unix系統,例子都不能親手實踐一下,感覺很是遺憾。書中的例子就不說了,因為C語言本身並沒有規定標準庫要寫成什麼樣。但是作者向我們提供了一種可取的辦法。也許要編寫漂亮的程式,使用對照其他的標準庫,或者其他高水平的開原始碼,是一種快速提高的途徑吧。
今天面試被問住了,很慚愧啊,回來上網查了一下思路。自己寫了點程式。1.如何判斷是否有環?如果有兩個頭結點指標,一個走的快,一個走的慢,那麼若干步以後,快的指標總會超過慢的指標一圈。2.如何計算環的長度?第一次相遇(超一圈)時開始計數,第二次相遇時停止計數。3.如何判斷環的進入點:碰撞點p到連接點的距離=頭指標到連接點的距離,因此,分別從碰撞點、頭指標開始走,相遇的那個點就是連接點。為什麼呢?需要一個簡單的計算過程:(1)當fast與slow相遇時,show肯定沒有走完鏈表,而fast已經在還裡走
第四章主要講的泰勒公式,分為3種,帶皮亞羅餘項的,帶拉格朗日餘項的,和帶柯西餘項的。前者是在某一點展開的,後者二者是在一段區間內展開的。皮亞諾餘項給出的是無窮小的階,比較適合用來求極限:就是把分子分母都用泰勒公式展開,然後通過多項式的加減算出極限。而且這裡有一些技巧,比如展開到多少階,多項式相乘以後的高階如何忽略等等。拉格朗日和柯西餘項給出的都是具體的運算式,可以通過餘項來估算展開的誤差。這三種泰勒公式中,必須要熟記一些常用函數的邁克勞林展開式,很有用。利用泰勒公式,可以匯出一個判斷一個點是否為
我們應該如何對待經典?首先要給它一個合理的定位,這不是一本入門書籍,也不是一門講述如何避免C的一些常見錯誤的書籍,而是一本提高自己對C語言認識的書籍。僅僅使用了不到300頁,就把C語言的方方面面展現的淋漓盡致。作者通過這本書,向人們展示了C語言能夠做什麼。同事作者試圖向人們傳達的這樣一種態度:程式要寫的短小漂亮!也許這與工業化生產要求的代碼正常化有一定差距,但這代表了科學家的一種追求卓越的態度。不得不佩服作者取材的匠心獨具。在書中穿插了sell排序、快速排序,折半尋找、雜湊表、二叉樹、鏈表等等資
空域濾波按照對像素的操作方法,可以分為兩類:線性濾波(低通、高通、帶通)和非線性濾波(最大值、最小值、中值)按照影像處理的效果,可以分為平滑濾波和銳利化濾波。“線性濾波”這個概念其實是從訊號與系統裡面借用過來的。輸入訊號通過一個線性系統時,輸出的結果是輸入訊號與系統時域衝擊響應的卷積。而在影像處理中,則使用模板對像素(及其周圍像素)進行線型加權運算,權值取決於模板的像素值。運算方法與卷積類似,所以就稱為濾波了。非線性濾波自然進行不是線性運算了。由於沒有貼公式,所以可能大家對文字的解釋不是很理解,
這一部分內容原見於第二版教材的第五章,但是第三版改版以後,做了很大的改動:將拉格朗日插值放在了附錄中,刪去了多項式的Bernstein表示,將函數的Bernstein多項式放在了第15章,刪去了Bernstein多項式的保型性和磨光性兩個性質。先說什麼是插值:就是當你有n+1個離散的資料點,想利用這些資料點“反構造”一條曲線的方法。(插值意味著把離散的資料點之間的空隙填滿)。最簡單的想法就是,用直線把這n+1個點依次相連就可以了。這的確是一種簡單而又有效地插值方法,稱為“線性插值”。但是這個方法
我聽說過很多經典書都被翻譯毀了,比如《C++編程思想》,《數位影像處理》等等,罵聲一片。我在看《數位影像處理》的時候,也發現了的確翻譯的很一般,很多問題不懂了還得去看原版書。但是大多數時候,這裡的錯誤並不是那種概念性的錯誤,而是語言本身造成的。換句話說,如果讓我翻譯,我也會那樣翻譯,然後再加上注釋,這樣才能更好的讓讀者理解。我之前學opencv的時候,自己嘗試著翻譯了《OpenCV 2 Computer Vision Application Programming
我是實打實的通訊專業,從本科上到了研究生。畢業以後從事的是IT行業,恰好現在有一個與通訊相關的項目,我便藉著剛入行,自己啥都不會的現狀,吐槽一下專業的一些弊端:首先吐槽的是我們對於《通訊原理》的學習,誠然,學習通訊原理需要很強的數學功底,尤其是當你需要分析一個通訊系統的效能的時候,但是在你分析它之前,拜託你先能搭建起來通訊系統吧?可現實是,不管是通訊原理的課本,還是通訊方面的論文,都在強調為什麼這樣做,但是最後卻很少有人能展示一個完整的例子:簡單的通訊系統是如何?的?比如基帶訊號都是複數,怎麼處