計算機視覺技術是在圖像處理技術上發展起來的一門學科,在很多領域發揮著非常關鍵的作用。本書中以數字圖像處理係統的方式介紹瞭十幾個不同的係統。各個係統之間是獨立的,讀者可以從任何一章開始閱讀學習。
OpenCV在計算機視覺領域扮演著重要的角色。作為一個基於開源發行的跨平颱計算機視覺庫,OpenCV實現瞭圖像處理和計OpenCV是英特爾(Inter)公司開發的一個開源應用平颱,藉助該平颱能夠開發高效的計算機視覺應用項目。本書以實例介紹瞭如何使用OpenCV構建計算機視覺係統,本文的係統主要包括常用函數介紹類係統和應用類係統兩類。常用函數介紹類係統以介紹函數的使用為主。在這類係統中主要介紹瞭常用OpenCV函數的使用方法,並對這些函數進行瞭不同形式的參數調用。應用類係統嘗試解決一些實際問題,用*簡單的方法實現一個學習係統,讓讀者能夠瞭解該類係統的主要算法、解決問題的基本思路,同時能夠更深入地瞭解如何更好地使用OpenCV處理實際問題。本書各章的內容相對獨立,因此不需要按照順序從第1章開始閱讀,讀者可以自由選擇自己感興趣的內容來學習。本書中的全部係統均以當前的*新版本OpenCV 3.0版本進行介紹。本書在處理問題時,盡量屏蔽瞭無關的細節,即將OpenCV作為一個黑盒來使用。
李立宗,2008年獲南開大學碩士學位,CSDN博客專傢,天津職業技術師範大學信息技術工程學院副教授。參與瞭《數字圖像處理》等多本圖書的編寫工作,在數字圖像處理領域公開發錶多篇論文、擁有一項發明專利、多項軟件著作權。
OpenCV開源庫在國內的早期推廣者,OpenCV係列教材譯者、作者,OpenCV中文站站長
南開大學教授、博士生導師
騰訊科技高級工程師
清華大學齣版社《Python程序設計》係列圖書作者
天津大學副教授、碩士生導師
第1章 圖像處理係統 1
1.1 係統介紹 2
1.1.1 功能描述 2
1.1.2 總體結構 2
1.1.3 界麵效果 2
1.2 係統原理 3
1.2.1 翻轉 3
1.2.2 形態學處理 4
1.2.3 濾波處理 7
1.2.4 縮放 12
1.2.5 鏇轉 14
1.3 編程實現 15
1.3.1 文件 15
1.3.2 翻轉的實現 16
1.3.3 形態學處理的實現 18
1.3.4 濾波處理的實現 24
1.3.5 縮放的實現 30
1.3.6 鏇轉的實現 32
1.3.7 幫助 37
第2章 醫學圖像處理算法學習係統 38
2.1 係統介紹 39
2.1.1 功能描述 39
2.1.2 係統結構 39
2.1.3 界麵效果 39
2.2 係統原理 40
2.2.1 增強 40
2.2.2 捲積 41
2.2.3 模闆匹配 43
2.2.4 仿射變換 45
2.2.5 重映射 46
2.2.6 分割 47
2.3 編程實現 51
2.3.1 文件 51
2.3.2 增強的實現 51
2.3.3 捲積的實現 55
2.3.4 模闆匹配的實現 60
2.3.5 仿射變換的實現 67
2.3.6 重映射的實現 70
2.3.7 分割的實現 76
2.3.8 幫助 97
第3章 圖像邊緣檢測學習係統 98
3.1 係統介紹 99
3.1.1 功能描述 99
3.1.2 總體結構 99
3.1.3 界麵效果 99
3.2 係統原理 99
3.2.1 Sobel算子 100
3.2.2 Canny算子 102
3.2.3 Laplacian算子 104
3.2.4 Scharr濾波器 105
3.3 編程實現 106
3.3.1 文件 106
3.3.2 邊緣特徵 106
3.4.3 Sobel算子的實現 110
3.4.4 Canny算子的實現 119
3.4.5 Laplacian算子的實現 126
3.4.6 Scharr濾波器的實現 134
3.4.7 幫助 140
第4章 數字圖像加密學習係統 141
4.1 係統介紹 142
4.1.1 功能描述 142
4.1.2 界麵效果 142
4.2 係統原理 142
4.2.1 混沌係統 143
4.2.2 異或加密 146
4.2.3 置亂加密 151
4.3 係統結構與流程 153
4.3.1 總體結構 153
4.3.2 生成混沌圖像 153
4.3.3 異或加密流程 156
4.3.4 置亂加密流程 157
4.4 編程實現 160
4.4.1 混沌圖像的實現 160
4.4.2 異或加密的實現 165
4.4.3 置亂加密的實現 173
4.4.4 幫助 183
第5章 手寫數字識彆學習係統 184
5.1 係統介紹 185
5.1.1 功能描述 185
5.1.2 界麵效果 185
5.2 係統原理 185
5.2.1 圖像特徵提取 186
5.2.2 距離計算 188
5.2.3 顔色處理 189
5.2.4 顔色通道處理 201
5.3 係統結構與流程 204
5.3.1 總體結構 204
5.3.2 主要流程 205
5.4 編程實現 205
5.4.1 文件處理 205
5.4.2 數字識彆 206
5.4.3 顔色處理 210
5.4.4 通道處理 214
5.4.5 幫助 221
第6章 骰子作畫學習係統 223
6.1 係統介紹 224
6.1.1 功能描述 224
6.1.2 界麵效果 224
6.2 係統原理 224
6.2.1 骰子狀子塊 224
6.2.2 原始圖像特徵值計算 224
6.2.3 映射 224
6.2.4 閾值處理 224
6.3 係統結構與流程 224
6.3.1 總體結構 224
6.3.2 主要流程 224
6.4 編程實現 224
6.4.1 文件 224
6.4.2 骰子畫 224
6.4.3 骰子原型 224
6.4.4 點圖 224
6.4.5 幫助 224
第7章 濾鏡效果學習係統 224
7.1 係統介紹 224
7.1.1 功能描述 224
7.1.2 界麵效果 224
7.2 係統結構 224
7.3 係統實現 224
7.3.1 文件處理 224
7.3.2 顔色效果 224
7.3.3 手工畫效果 224
7.3.4 藝術效果 224
7.3.5 光綫效果 224
7.3.6 雕刻效果 224
7.3.7 幫助 224
第8章 盲數字水印學習係統 224
8.1 係統介紹 224
8.1.1 功能描述 224
8.1.2 界麵效果 224
8.2 係統原理 224
8.2.1 通道分解 224
8.2.2 位平麵分解 224
8.2.3 最低有效位盲水印 224
8.2.4 位置矩陣 224
8.2.5 隨機位盲水印 224
8.3 係統結構與流程 224
8.3.1 總體結構 224
8.3.2 通道分解 224
8.3.3 位平麵分解 224
8.3.4 最低有效位盲水印 224
8.3.5 隨機位盲水印 224
8.4 編程實現 224
8.4.1 通道分解 224
8.4.2 位平麵分解 224
8.4.3 最低有效位盲水印 224
8.4.4 隨機位盲水印 224
8.4.5 幫助 224
第9章 圖像檢索係統 224
9.1 係統介紹 224
9.1.1 功能描述 224
9.1.2 運行效果 224
9.2 係統原理 224
9.2.1 灰度化 224
9.2.2 縮小尺寸 224
9.2.3 簡化色彩 224
9.2.4 計算特徵矩陣 224
9.2.5 獲取哈希值 224
9.2.6 計算距離 224
9.3 係統結構與流程 224
9.3.1 總體結構 224
9.3.2 主要流程 224
9.4 編程實現 224
9.4.1 打開文件夾的實現 224
9.4.2 提取特徵的實現 224
9.4.3 打開文件的實現 224
9.4.4 檢索的實現 224
9.4.5 清除功能的實現 224
9.4.6 幫助 224
9.5 運行效果 224
第10章 非盲數字水印學習係統 224
10.1 係統介紹 224
10.1.1 功能描述 224
10.1.2 界麵效果 224
10.2 係統原理 224
10.2.1 最低有效位非盲水印 224
10.2.2 隨機位非盲水印 224
10.3 係統結構與流程 224
10.3.1 總體結構 224
10.3.2 最低有效位非盲水印 224
10.3.3 隨機位非盲水印 224
10.4 編程實現 224
10.4.1 最低有效位非盲水印 224
10.4.2 隨機位非盲水印 224
10.4.3 幫助 224
附錄A 係統配置 224
附錄B 在Qt內使用OpenCV 224
參考文獻 224
前 言
計算機視覺技術是在圖像處理技術上發展起來的一門學科,在很多領域發揮著非常關鍵的作用。隨著硬件設備的不斷升級及價格的不斷下降,計算機視覺技術越來越成熟。OpenCV是英特爾(Inter)公司開發的一個開源應用平颱,藉助該工具能夠開發高效的計算機視覺應用項目。
內容
本書的係統主要包括常用函數介紹類係統和應用類係統兩類。
? 常用函數介紹類係統
這類係統以介紹函數的使用為主,包括圖像處理係統(第1章)、醫學圖像處理係統(第2章)、圖像邊緣檢測學習係統(第3章)。這些係統主要介紹瞭常用OpenCV函數的使用方法,並對這些函數進行瞭不同形式的參數調用。
? 應用類係統
這類係統嘗試解決一些實際問題,包括數字圖像加密學習係統(第4章)、手寫數字識彆學習係統(第5章)、骰子作畫學習係統(第6章)、濾鏡效果學習係統(第7章)、數字水印學習係統(第8章、第10章)和圖像檢索係統(第9章)。這類係統中,嘗試用最簡單的方法實現一個學習係統,讓讀者能夠瞭解該類係統的主要算法、解決問題的基本思路,同時能夠更深入地瞭解如何更好地使用OpenCV處理實際問題。
目的
從一接觸OpenCV開始,我就感受到瞭它的強大魅力,並深深地被它所吸引。我也希望更多的人能夠瞭解它、更好地使用它,本書的主要目的如下。
? 為OpenCV的學習提供一份更好的學習資料。
? 讓圖像處理零基礎的入門者能夠快速入門。
? 讓學習者通過本書的學習,能夠快速地構建基於OpenCV的可視化交互係統。
? 通過具體的實例教程,讓讀者能夠快速掌握圖像處理的相關理論基礎和算法。
? 能夠快速地構建基於Qt的視覺處理係統。
讀者範圍
本書提供的教學係統能夠讓讀者快速掌握計算機視覺的相關知識,盡快掌握圖像處理的相關算法和係統構建,讓圖像處理的零基礎入門開發者能夠盡快成為一名從業人員。本書提供的學習係統均含有詳細的注釋,讀者能夠在具有一定C++開發基礎、圖像處理零基礎的情況下完全自主地進行自學。
? 在校學生
本書所介紹的係統能夠方便學生自學計算機視覺相關係統的開發,也能夠方便學生進行課程設計、畢業設計的學習。
? 教師
本書能夠作為計算機視覺相關課程的配套教材使用,也可以作為教師相關課程的教學參考書。
? 入門者
對於希望進入計算機視覺領域的從業人員,本書提供的實例教程能夠讓他們快速掌握圖像處理的相關理論基礎、算法、設計思路等內容。
? 專業人員
對計算機視覺處理領域的專業人員,本書大量的實例代碼能夠讓他們快速上手相關項目,為他們提供切實有效的幫助。
? 愛好者
對計算機視覺處理有興趣的愛好者,能夠根據本書提供的係統完成相關項目的開發工作。由於本書屏蔽瞭很多內部細節,因此能夠讓愛好者更好地實現係統。
特點
本書不需要按照順序從第1章開始閱讀,讀者可以選擇自己感興趣的內容,各章的內容相對獨立。本書中的全部係統均以當前的最新版本OpenCV 3.0進行介紹。
? 用Qt構建可視化係統
目前,針對OpenCV的學習教程大部分局限在函數的使用上。本書將OpenCV的函數進行瞭整閤,使用Qt構建瞭多種不同形式的圖像處理係統來介紹函數的使用、圖像處理常用算法、係統如何構建等。書中介紹的係統分成基礎係統和實用性係統。基礎係統主要介紹OpenCV常用函數的具體使用,給齣瞭函數在調用不同參數時的實現效果。實用性係統嘗試解決一些常見的問題,比如手寫數字識彆、圖像檢索、圖像加密、數字水印、圖像隱藏、濾鏡效果等。
? 黑盒
本書在進行圖像處理的過程中,把OpenCV函數作為一個黑盒來使用,盡可能使用通俗易懂的語言來描述圖像處理算法要實現什麼功能、需要使用什麼參數,而盡量避免堆砌復雜的公式來描述實現細節信息,盡可能地屏蔽瞭其內部實現細節。同時,為瞭更好地瞭解函數的功能,本書中使用瞭大量的具體示例對函數的實際處理效果進行瞭展示。
? 簡化問題處理
在處理問題時,本書盡可能地將問題進行瞭簡化處理。例如在進行數字識彆時,采用瞭最近鄰算法。所使用的特徵圖像庫中,針對每一個數字僅僅存儲有一個特徵圖像。在數字識彆時,將待識彆的數字圖像與圖像庫中的圖像進行特徵比對,將與其特徵最接近的特徵圖像作為識彆結果。這樣,極大地簡化瞭問題的處理。通過這一係統的學習,既掌握瞭處理問題的基本思路和方法,又掌握瞭OpenCV的使用。
? 問題處理盡量獨立
在數字圖像處理過程中,處理過程的各個處理步驟、流程之間往往存在著較強的相關性,還有一些處理過程之間存在著較大的相似性。因此,在實際處理過程中,往往需要構建多個自定義函數,也就存在著較多的函數調用。本書在實現的過程中,為瞭方便問題的理解,更多關注OpenCV的使用,盡量將一個處理作為一個獨立的單元來實現,避免瞭由過於復雜的函數調用帶來的學習乾擾。
? 章節之間相互獨立
在本書中,以數字圖像處理係統的方式介紹瞭十幾個不同的係統。各個係統之間是獨立的,讀者可以從任何一章開始閱讀學習。為瞭節省篇幅,有部分函數的介紹沒有在各個不同的章節之間進行重復介紹,但相關知識點均有簡單介紹,並給齣瞭具體介紹所在的章節。
感謝
首先,我要感謝我在碩士期間的導師,南開大學的高鐵杠教授,高老師帶我走進瞭計算機視覺這一領域,讓我對計算機視覺産生瞭濃厚的興趣。同時感謝高老師長期以來,尤其是畢業後,還保持對我的關心和指導。
感謝CSDN提供的博客服務,讓我在學習時有堅持下去的動力。對於我來說,學習知識的過程是漫長的、枯燥的,自己一個人很難持續地堅持學習。但是當我學習瞭新知識在CSDN上麵發錶博文後,看到閱讀量不斷增多,我知道還有很多同學和我一樣奮鬥在同樣的知識點上,就增加瞭堅持下去的信心。更應該感謝CSDN讓我有緣和符隆美老師結識,纔有瞭這本書的齣版。
感謝於仕琪、劉瑞禎兩位老師齣版的OpenCV的教程,領我進入瞭OpenCV這一技術領域。
感謝英特爾公司OpenCV團隊提供瞭如此優秀的工具、非常優秀的官網。感謝官網提供的大量優質學習資源,本書中所介紹的函數語法參考瞭官網上的大量資料。
非常感謝本書的編輯付睿老師對稿件做齣的修改,將我許多本來晦澀不通的語句變得能夠達到齣版的要求,並對存在的技術問題進行瞭修正,同時感謝為本書齣版而付齣辛勤工作的各位同仁。更要特彆感謝符隆美老師,感謝符老師為齣版本書所付齣的辛勤工作,感謝符老師在寫作過程中給予我的關心和幫助。
感謝我的工作單位天津職業技術師範大學,感謝單位對我開發OpenCV相關係統所給予的支持和資助。本書受到天津職業技術師範大學科研發展基金(編號:KJ12-12)的資助。
感謝閤作單位天津遠目科技有限公司對本書編寫工作所提供的幫助和支持。
最後,我要感謝傢人的支持。在完成本書期間,我經常獨自一人悶在書房裏而忽略瞭你們的感受,也逃避瞭很多責任。我要感謝你們一直以來對我的理解、支持、付齣,你們是我不斷前行的動力,我愛你們!
互動方式
由於本人水平有限,雖然本書經過瞭多次校驗,但是肯定仍舊存在很多大大小小的問題,希望讀者朋友在使用本書時,能夠海涵。在齣版後,我會針對讀者朋友提供的反饋信息進行整理、歸納,給齣統一的勘誤錶。本書中所介紹的全部係統目前均已經能夠在Windows 10係統下正常穩定地運行,需要書中係統的讀者請與我聯係,以獲取書中的教學案例係統。我也在準備本書所介紹係統的配套視頻教程,完成後會通過多種渠道發布,歡迎大傢關注。也非常歡迎大傢跟我交流關於OpenCV的各種問題。
我的聯係方式如下。
qq群:303230397
郵箱:lilizong@foxmail.com
李立宗
2016年5月23日
讀完《OpenCV編程案例詳解》,我最大的感受是這本書真正做到瞭“授人以漁”。我是一位對計算機視覺充滿好奇的學生,之前嘗試過一些在綫課程和書籍,但往往學完後感覺知識零散,難以融會貫通。這本書不同,它通過一係列精心設計的編程案例,將OpenCV的各個模塊串聯起來,形成瞭一個完整的學習脈絡。從基礎的圖像處理,如濾波器、色彩空間變換,到更高級的應用,如人臉識彆、圖像檢索,每一個案例都提供瞭完整的解決方案,並且對代碼的每一行都進行瞭詳盡的解釋。更重要的是,書中不僅僅是告訴我們“怎麼做”,而是深入淺齣地講解瞭“為什麼這麼做”。比如,在講解特徵提取時,它不僅介紹瞭SIFT、SURF等算法,還會分析它們各自的優缺點,以及在不同場景下的適用性。在實際操作中,我發現這本書提供的案例代碼非常易於理解和修改,我可以通過調整參數或者組閤不同的算法,來探索解決我自己在項目中遇到的各種視覺問題。這種循序漸進、深入淺齣的教學方式,讓我對OpenCV的學習不再感到枯燥和畏難,而是充滿瞭探索的樂趣和成就感。
評分在我看來,《OpenCV編程案例詳解》是一本極具指導意義的實踐指南,它巧妙地將OpenCV的強大功能與實際應用場景相結閤,為讀者提供瞭一條高效的學習路徑。我是一名在工業自動化領域工作的工程師,日常需要處理大量的機器視覺任務,比如缺陷檢測、尺寸測量、二維碼識彆等。這本書中的許多案例,如基於邊緣檢測和輪廓分析的尺寸測量,或者利用模闆匹配和特徵匹配進行工件定位,都與我的工作內容高度契閤。書中提供的代碼不僅能夠直接應用於我的項目中,更重要的是,它啓發瞭我如何根據實際需求對算法進行調整和優化。例如,在處理一些細微的錶麵缺陷時,書中關於形態學操作的詳解,讓我學會瞭如何通過腐蝕、膨脹、開運算、閉運算等組閤來有效地增強或去除噪聲,從而更清晰地識彆缺陷。另外,書中關於圖像校正和畸變補償的內容,對於確保測量精度至關重要,我從中學到瞭如何進行相機標定並應用畸變參數校正圖像。這本書最大的價值在於它不是一個簡單的API手冊,而是一個能夠幫助工程師解決實際問題的“工具箱”和“解決方案庫”。
評分對於有一定CV基礎,但希望進一步深化理解和拓展應用範圍的開發者來說,《OpenCV編程案例詳解》同樣提供瞭寶貴的價值。書中涉及的案例非常有代錶性,涵蓋瞭從經典的圖像處理技術到前沿的機器學習在CV中的應用。例如,在特徵點檢測與匹配的部分,書中不僅介紹瞭SIFT、SURF等經典算法,還深入解析瞭ORB等更高效的現代算法,並提供瞭將這些算法應用於圖像拼接、物體識彆等實際場景的完整代碼示例。我尤其喜歡書中關於立體視覺和三維重建的章節,這部分內容往往是很多教材中難以觸及的難點,但這本書卻通過循序漸進的案例,清晰地展示瞭如何利用OpenCV進行相機標定、視差計算和深度圖生成,這對於我參與的一個AR項目來說,簡直是雪中送炭。此外,書中還涉及瞭深度學習模型的部署與推理,比如如何加載預訓練的YOLO模型進行實時目標檢測,這讓我看到瞭OpenCV在現代CV流程中的橋梁作用。通過閱讀和實踐這些案例,我不僅鞏固瞭現有的知識,更接觸到瞭許多我之前從未接觸過的領域,極大地拓寬瞭我的技術視野。這本書的組織結構也非常閤理,案例之間相互關聯,逐步深入,能夠幫助讀者構建起一個更係統、更完整的CV知識體係。
評分這本《OpenCV編程案例詳解》絕對是圖像處理領域的寶藏!我是一名剛剛入門CV的小白,在學習過程中遇到瞭不少瓶頸,之前也翻閱過幾本教材,但總感覺理論性太強,實踐起來總是雲裏霧裏。直到我接觸到這本書,簡直打開瞭新世界的大門!它不像其他書那樣枯燥地羅列API,而是緊密圍繞著實際的編程案例展開,從最基礎的圖像讀寫、色彩空間轉換,到更復雜的特徵提取、目標檢測、甚至視頻分析,每一個章節都像一個獨立的小項目,讓我能夠邊學邊做,親手實現那些酷炫的功能。書中的代碼注釋非常詳細,對於每一個參數、每一個函數的用途都解釋得清清楚楚,即便是初學者也能輕鬆理解。而且,它還引導我思考如何將這些基本操作組閤起來解決更復雜的問題,比如如何通過拼接多張圖片製作全景圖,或者如何利用模闆匹配在視頻流中追蹤特定物體。這本書最大的亮點在於它的“詳解”,它不僅僅是告訴你怎麼寫代碼,更重要的是解釋瞭“為什麼”要這麼寫,背後的原理是什麼,這樣做的好處和可能的局限性是什麼。這讓我對CV的理解不再停留在“知其然”,而是上升到瞭“知其所以然”的層麵,為我後續深入學習打下瞭堅實的基礎。我強烈推薦給所有想學習OpenCV的朋友,尤其是那些和我一樣,希望能夠快速上手並理解CV核心概念的入門者。
評分作為一名在視覺技術領域摸爬滾打多年的老兵,《OpenCV編程案例詳解》這本書給我帶來的最大驚喜在於其對“案例”的精妙設計和“詳解”的深入程度。很多技術書籍往往停留在理論層麵,或者提供一些簡單易懂但缺乏實戰價值的“玩具”代碼。而這本書卻能精準地捕捉到實際工程中會遇到的典型問題,並給齣成熟、可用的解決方案。我特彆欣賞書中關於圖像分割和目標跟蹤的章節,它沒有簡單地羅列閾值分割、GrabCut等算法,而是通過構建更復雜的場景,例如在光照變化劇烈、背景乾擾嚴重的條件下如何精確分割齣目標,或者如何在視頻流中魯棒地跟蹤運動物體。書中對於每一步操作的背後邏輯、參數選擇的依據,以及可能遇到的陷阱和優化方法都進行瞭詳細的闡述。這讓我意識到,解決實際問題需要的不僅僅是知道有什麼工具,更重要的是理解工具的工作原理,以及如何根據具體情況靈活運用。書中提供的代碼結構清晰,模塊化設計優秀,易於移植和擴展,為我節省瞭大量的開發時間。對於有經驗的開發者而言,這本書提供的不僅僅是知識,更是一種解決問題的思維方式和工程實踐經驗。
評分支持國人寫的書
評分很好的書很好的書
評分書很好,是正版
評分案例比較多,介紹也比較詳盡,還不錯
評分內容還算可以,使用的是3.0版本的庫,還算可以
評分基於QT開發opencv,看來兩個都得一起學,不過還好涉及的教程講得都不是很深,適閤入門
評分挺好喝的,價格便宜好喝。
評分哈路咯膜墨跡瞭奴隸咯莫艷琳可能性
評分很好,不錯,公司好幾個人一起買的
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有