使用 C++ 和 OpenCV 提供的庫函式,實現攝像頭的實時監控功能,並透過監控畫面的運動檢測選擇是否記錄影片。監控人員可選擇輸出影象的模式以更容易的分辨監控中的異常情況。6. 使用OpenCV&&C++進行模板匹配使用OpenCV&&C++進行模板匹配,在一張大圖中去查詢並圈出目標小圖。你將學習到關於OpenCV的一些函式用法和模板匹配的完整流程。
7. 使用OpenCV進行圖片平滑處理打造模糊效果
利用OpenCV中的平滑處理和線性濾波器對圖片進行處理,打造模糊效果。將介紹歸一化濾波器,高斯濾波器,中值濾波器,雙邊濾波器這四種濾波器的相關知識,並且會對“核”和卷積進行相應的講解。8. C++ 實現即時通訊軟體使用C++實現一個具備服務端和客戶端的即時通訊聊天室,涉及網路程式設計,C++面向物件程式設計等知識。
9. C++實現課程管理系統
使用 C++ 實現一個課程管理系統,在這個過程中會介紹C++11的很多特性,同時可以熟悉Linux下的C++語言編譯方法及簡單的Makefile編寫。
////中場休息,笑一笑吧
進階專案
1. C++11/14 高速上手教程
如果你還在使用傳統 C++,打著 C++ 的名號寫出 C 語言程式碼,請停下來。本教程將帶領你快速上手 C++11/14 的重要特性。
2. ffmpeg 結合 SDL 編寫播放器
學習 C++ 利用 ffmpeg 解碼影片資料,將解碼後的影片資料播放出來。學習 ffmpeg 和 SDL 基本的用法。
多年以後,你已經是一名技術總監,有一個美麗的妻子,兩個孩子;你已經擁有了現在的你想都不敢想的一切;那時,你也一定會忘記,今天這篇教程,如同一顆石子,鋪就過你前進的路。
下面是我們的老師根據現有資源整理的一個C++學習路徑(包含近30個練習專案)。
基礎知識Linux 基礎入門(新版)/2. Vim編輯器/3. Git 實戰教程/4. GDB 簡明教程/5. 跟我一起來玩轉Makefile入門專案1. C++ 實現太陽系行星系統
使用 C++實現 OpenGL GLUT 實現一個簡單的太陽系行星系統,將涉及一些三維圖形技術的數學基礎、OpenGL 裡的三維座標系、OpenGL 裡的光照模型、GLUT 的鍵盤事件處理。
2. C++實現運動目標的追蹤
利用 OpenCV 來實現對影片中動態物體的追蹤。進行本教程學習時,您需要先完成 C++實現太陽系行星執行系統的相關實驗,才能進行之後的學習。
3. C++ 實現銀行排隊服務模擬
使用 C++對銀行排隊服務進行模擬,以事件驅動為核心思想,手動實現模板鏈式佇列、隨機數產生器等內容,進而學習機率程式設計等知識。4. 1小時入門增強現實技術基於OpenCV實現一個將3D模型顯示在現實中的小例子,學習基於Marker的AR技術,既簡單又有趣。
5. C++ 基於 OpenCV 實現實時監控和運動檢測記錄
使用 C++ 和 OpenCV 提供的庫函式,實現攝像頭的實時監控功能,並透過監控畫面的運動檢測選擇是否記錄影片。監控人員可選擇輸出影象的模式以更容易的分辨監控中的異常情況。6. 使用OpenCV&&C++進行模板匹配使用OpenCV&&C++進行模板匹配,在一張大圖中去查詢並圈出目標小圖。你將學習到關於OpenCV的一些函式用法和模板匹配的完整流程。
7. 使用OpenCV進行圖片平滑處理打造模糊效果
利用OpenCV中的平滑處理和線性濾波器對圖片進行處理,打造模糊效果。將介紹歸一化濾波器,高斯濾波器,中值濾波器,雙邊濾波器這四種濾波器的相關知識,並且會對“核”和卷積進行相應的講解。8. C++ 實現即時通訊軟體使用C++實現一個具備服務端和客戶端的即時通訊聊天室,涉及網路程式設計,C++面向物件程式設計等知識。
9. C++實現課程管理系統
使用 C++ 實現一個課程管理系統,在這個過程中會介紹C++11的很多特性,同時可以熟悉Linux下的C++語言編譯方法及簡單的Makefile編寫。
////中場休息,笑一笑吧
進階專案1. C++11/14 高速上手教程
如果你還在使用傳統 C++,打著 C++ 的名號寫出 C 語言程式碼,請停下來。本教程將帶領你快速上手 C++11/14 的重要特性。
2. ffmpeg 結合 SDL 編寫播放器
學習 C++ 利用 ffmpeg 解碼影片資料,將解碼後的影片資料播放出來。學習 ffmpeg 和 SDL 基本的用法。
3. 100 行 C++ 程式碼實現執行緒池
使用 C++ 及大量 C++11新特性設計並實現一個執行緒池庫。
4. C++ 實現高效能記憶體池
獲得記憶體池所分配的記憶體速度高於從堆中獲得分配的記憶體的速度,一個長期穩定執行的服務在追求極致的過程中,實現記憶體池是必不可少的。和標準庫中的預設分配器一樣,記憶體池本質上也是分配器
5. C++ 開發 Web 服務框架
綜合使用 C++11 及 Boost 中的 Asio 實現 HTTP 和 HTTPS 的伺服器框架。6. C++ 打造 Markdown 解析器使用 C++ 實現 Markdown 解析器,並將解析的內容生成為 HTML。
7. C++ 使用 Crypto++ 庫實現常用的加密演算法
利用 Cryto++庫 對字串進行 AES 加密和解密,RSA 加密和解密,生成 MD5 值。其中主要用到了 Crypto++ 庫,這是開源的C++資料加密演算法庫,支援如下演算法:RSA、MD5、DES、AES、SHA-256等等。8. C++ 編寫 json 生成器介紹 json 和一些常見的 json 庫,並用 C++ 編寫一個 json 生成器,生成 json 資料,並學習編寫測試用例。
9. C++ 實現基數樹
radix treeRadix樹 , 這是一種基於二進位制表示的鍵值的查詢樹,尤其適合處理非常長的、可變長度的鍵值,Patricia 的基本思想是構建一個二叉樹。10. C++ 實現智慧指標使用C++語言實現智慧指標的過程,來了解C++基本程式設計的方法,包括類的定義與使用,運算子的過載,模板類的使用方法,以及引用計數技術。
////中場休息,笑一笑吧
高階專案1. C++操作 redis 實現非同步訂閱和釋出操作
redis 實現非同步訂閱和釋出,其中將介紹 redis 基礎知識,在linux中安裝和使用 redis ,常用的 hiredis API,並實現一個例程。
2. C++ 實現簡易 Docker 容器
Docker 的本質是使用 LXC 實現類似虛擬機器的功能,進而節省的硬體資源提供給使用者更多的計算資源。本專案將 C++ 與 Linux 的 Namespace 及 Control Group 技術相結合,實現一個簡易 Docker 容器。
3. C++ 實現記憶體洩露檢查器
記憶體洩漏一直是 C++ 中比較令人頭大的問題, 即便是很有經驗的 C++程式設計師有時候也難免因為疏忽而寫出導致記憶體洩漏的程式碼。除了基本的申請過的記憶體未釋放外,還存在諸如異常分支導致的記憶體洩漏等等。本專案將使用 C++ 實現一個記憶體洩漏檢查器。
4. C++ 實現高效能 RTTI 庫
RTTI 是執行時型別識別的英文縮寫,C++ 本身提供了執行時型別檢查的運算子 dynamic_cast 和 typeid,然而 dynamic_cast 的效率其實並不理想,需要犧牲一定效能。本專案將手動實現一個高效能 RTTI 庫。
有句話是這樣說的:一件事,1000人想去做,100人開始做了,最終,只有1個人堅持到了最後。話雖沒有絕對,但想想看,今天確實是你生命中最年輕的一天啦,所以,想要做的事,勇敢撿起來做吧!祝你學習順利。