OpenCV 全攻略!AI 影像辨識 × 電腦視覺實戰手冊
翁健豪 著
- 出版商: 旗標
- 出版日期: 2026-07-08
- 定價: $1,200
- 售價: 7.9 折 $948
- 語言: 繁體中文
- 頁數: 688
- ISBN: 9863128678
- ISBN-13: 9789863128670
-
相關分類:
Computer Vision
尚未上市,歡迎預購
相關主題
商品描述
內容介紹:
從傳統影像處理到 AI 影像辨識
讓你擁有獨立開發電腦視覺應用的能力
OpenCV 是目前最為廣泛使用的電腦視覺工具之一,無論是影像處理、影像分析、人臉辨識、物件偵測,甚至近年熱門的 AI 影像辨識應用,都能看見它的身影。
本書使用 Python 語言,從 OpenCV 開發環境建置開始,循序漸進帶領讀者認識數位影像、色彩空間、影像處理與分析、模板匹配、特徵匹配、視窗互動、影片處理與即時影像分析等核心技術,並進一步透過 cv2.dnn 與 Ultralytics YOLO 實作人臉偵測、人臉辨識、物件偵測與物件追蹤等現代 AI 視覺應用。
除了完整介紹 OpenCV 的重要功能與背後技術外,本書更著重於「如何實際應用」——各章節搭配豐富範例與執行結果比較,說明每項功能的用途與差異,並於章末安排實作小專案,讓讀者立即運用學到的知識。
在本書的最後,整合前面 23 章所學,完成自動玩 Chrome 小恐龍、自動玩 2048、智慧人臉門禁、智慧寵物攝影機,以及簡易版 Photoshop 等五個生活化專案。
從「了解電腦如何看見影像」,到「讓電腦看懂影像」,本書將帶領你把 OpenCV 從一行行生硬的函式,變成解決真實問題的利器。
本書特色:
✔ 從「會用 OpenCV」到「會做應用」
學習如何拆解問題、選擇技術與組裝程式碼,建立獨立開發電腦視覺應用的能力。
✔ 不只學會 API,還要理解背後原理
透過大量圖解與程式範例,說明每個功能的用途、運作原理與適用情境,而非單純的函式教學。
✔ 從零建立電腦視覺基礎
從安裝、影像讀取與顯示開始,逐步建立像素、解析度、色彩空間與影像通道等核心觀念。
✔ 完整涵蓋 OpenCV 核心技術
包含影像處理、影像分析、模板匹配、特徵匹配、影片處理與即時影像分析等重要主題。
✔ 從傳統電腦視覺跨入 AI 影像辨識
實作人臉偵測、人臉辨識、YOLO 物件偵測與物件追蹤,掌握現代視覺系統的開發流程。
✔ 章末實作 + 五大實戰專案
透過大量實務範例,了解各項技術的應用情境,並於最後整合全書所學,完成五個有趣且實用的生活化專案。
作者簡介
翁健豪(嗡嗡,Howard Weng)
學歷:國立政治大學資訊管理碩士(研究方向:電腦視覺與深度學習)、國立交通大學資訊工程學士
經歷:高通(Qualcomm)AI 平台工程師、智慧攝影機新創 AI 軟體工程師、台灣微軟學生大使
長期專注於影像處理、電腦視覺與 AI 影像辨識領域。業界期間曾於智慧攝影機新創負責人臉、年齡性別等影像辨識模型開發;於高通負責 AI 模型部署、推論驗證自動化等實務工作,熟悉 OpenCV、Python 與深度學習相關技術。
多年來持續於個人網站「嗡嗡的隨手筆記(wongwongnotes.com)」分享技術內容,至今累積 800 篇以上文章,累計瀏覽量超過百萬。曾連續三屆參加 iThome 鐵人賽並兩度獲得佳作,其中第 12 屆《錢不夠買 ps 的我,只好用 OpenCV 來修圖了!》系列正是本書最早的雛形。也曾在台大、梅竹黑客松等多場全國性大型賽事奪冠,並受邀擔任 PyLadies Taiwan 深度學習入門講師,希望透過寫作與分享,讓更多人把影像處理技術帶進日常生活。
目錄大綱
目錄:
▍第一部分 準備 OpenCV 的 Python 開發環境
▍第 0 章 建置 OpenCV 開發環境
0-1 Python 環境管理工具:Anaconda
0-2 安裝與開啟 JupyterLab
0-3 認識與使用 JupyterLab
0-4 JupyterLab 檔案管理
0-5 關閉 JupyterLab
▍第 1 章 OpenCV 影像讀取、顯示與儲存
1-1 OpenCV 簡介
1-2 OpenCV 與相關工具的安裝
1-3 利用 OpenCV 讀取影像檔案
1-4 利用 OpenCV 內建的函式顯示影像
1-5 利用 OpenCV 儲存影像
1-E 替未來準備:封裝本章的程式,方便日後使用
▍第二部分 OpenCV 影像基礎與色彩空間
▍第 2 章 數位影像的基礎
2-1 認識影像如何儲存在電腦中
2 2 認識像素位置表示法:NumPy 與 OpenCV 的視角差異
2-3 認識影像的顏色通道
2-4 認識色碼(Hex Color Codes)
2-5 補充:影像在電腦占的儲存空間
2-E 練習:透過 Python 分析影像的基本元素
▍第 3 章 認識 OpenCV 中的影像與色彩
3-1 認識 OpenCV 的 BGR 顏色通道
3-2 拆解與合併 OpenCV 的 BGR 顏色通道
3-3 進階內容:運用 OpenCV 計算影像的直方圖
3-4 進階內容:CMYK、HSV、HSL 色彩空間介紹
3-E 小專案:透過 HSV 色彩空間來篩選影像中的紅色
▍第三部分 OpenCV 影像處理基礎操作
▍第 4 章 OpenCV 影像變形處理
4-1 影像的剪裁
4-2 影像的旋轉
4-3 影像的縮放
4-4 影像的翻轉
4-5 影像的平移
4-6 進階:影像的任意角度旋轉
4-7 進階:仿射變換 – 平面影像變形的萬能工具
4-8 進階:透視變換 – 校正影像的空間變形
4-E 小專案:自製文件掃描機
▍第 5 章 OpenCV 影像繪製與標註
5-1 畫點於影像上
5-2 畫圓於影像上
5-3 畫線於影像上
5-4 畫矩形於影像上
5-5 畫橢圓、圓弧於影像上
5-6 畫多邊形於影像上
5-7 寫字於影像上
5-8 補充:標記特殊符號於影像上
5-E 小專案:模擬對 AI 偵測結果進行資料標記
▍第 6 章 OpenCV 影像數學運算
6-1 本章共通觀念、實作素材準備
6-2 影像的加、減法與絕對值差
6-3 影像的加權運算
6-4 影像的邏輯運算:AND、OR、XOR、NOT 運算
6-5 影像數學運算的綜合應用
6-E 小專案:「大家來找碴」破解器
▍第 7 章 OpenCV 影像模糊、銳化與馬賽克
7-1 本章共通觀念、認識濾波器與卷積
7-2 影像模糊的不同算法
7-3 影像銳化
7-4 影像馬賽克
7-E 小專案:保護貓貓肖像權
▍第 8 章 OpenCV 影像色彩與光影調校
8-1 本章共通觀念:OpenCV 線性變換
8-2 調整影像亮度、對比度
8-3 調整影像飽和度
8-4 調整影像色溫(冷色調、暖色調)
8-5 進階:透過 Gamma 矯正調整亮度
8-6 進階:自動對比度增強「直方圖均衡化」
8-7 進階:自適應對比度增強「CLAHE」
8-E 小專案:模仿 Photoshop 進行照片修圖
▍第四部分 OpenCV 影像分析
▍第 9 章 OpenCV 影像二值化
9-1 本章共通觀念:二值化的概念、彩色影像前處理
9-2 固定門檻值二值化
9-3 Otsu 二值化(自動門檻值二值化)
9-4 自適應二值化(Adaptive Thresholding)
9-5 小結:各種二值化比較
9-E 小專案:體驗車牌辨識的前處理
▍第 10 章 OpenCV 形態學運算
10-1 形態學運算的共通觀念:主體共識、結構元素
10-2 影像侵蝕
10-3 影像膨脹
10-4 進階形態學運算
10-E 小專案:優化車牌辨識的結果
▍第 11 章 OpenCV 邊緣偵測
11-1 Sobel 邊緣偵測
11-2 Laplacian 邊緣偵測
11-3 Canny 邊緣偵測
11-4 比較:邊緣偵測方法比較與應用建議
11-E 小專案:觀察不同的邊緣偵測方法效果
▍第 12 章 OpenCV 輪廓分析
12-1 輪廓擷取
12-2 計算輪廓面積
12-3 擷取輪廓後繪製外接矩形(Bounding Box)
12-E 小專案:尋找其他影像中的主體
▍第 13 章 OpenCV 影像分割
13-1 GrabCut 影像分割原理
13-2 影像分割:cv2.grabCut
13-3 程式範例:影像分割實作
13-4 進階:使用 GrabCut 的注意事項與優化建議
13-E 小專案:替其他影像進行去背
▍第五部分 OpenCV 影像匹配技術
▍第 14 章 OpenCV 模板匹配
14-1 模板匹配(單目標)
14-2 模板匹配(多目標)
14-3 模板匹配的限制與解法
14-E 小專案:找到影片畫面中的「略過廣告」按鈕
▍第 15 章 OpenCV 特徵偵測與匹配
15-1 本章共通觀念:關鍵點、描述子與特徵匹配
15-2 ORB 特徵偵測
15-3 BFM 暴力匹配(ORB 特徵匹配)
15-4 SIFT 特徵偵測
15-5 FLANN 匹配(SIFT 特徵匹配)
15-E 小專案:UI 元素匹配
▍第六部分 OpenCV 視窗互動、影片與即時影像處理
▍第 16 章 OpenCV 視窗與使用者互動
16-1 視窗的操作與關閉
16-2 進階視窗屬性操作
16-3 鍵盤輸入偵測與互動
16-4 滑鼠事件偵測與互動應用
16-5 視窗滑桿(Trackbar)互動應用
16-E 小專案:即時顯示滑鼠座標的影像觀察工具
▍第 17 章 OpenCV 影片處理
17-1 影片的基礎觀念
17-2 讀取影片並取得資訊
17-3 逐格處理影片
17-4 影片的儲存與編碼
17-E 小專案:製作影片負片(Negative)效果並儲存
▍第 18 章 OpenCV 攝影機即時影像分析
18-1 讀取攝影機即時影像
18-2 即時影像處理
18-E 小專案:即時影像素描風格(Sobel 邊緣偵測)
▍第七部分 OpenCV 從傳統影像處理到 AI 影像辨識
▍第 19 章 從「傳統影像處理」邁向「AI 影像辨識」的 OpenCV
19-1 傳統影像處理 vs 深度學習:誰來定義特徵?
19-2 深度學習任務種類:偵測、辨識與追蹤
19-3 OpenCV 的深度學習模組
19-4 進階:AI 實作中經常出現的技術介紹
▍第 20 章 OpenCV 人臉偵測
20-1 人臉偵測基礎
20-2 用 Haar Cascade 方法進行人臉偵測
20-3 用 SSD 深度學習模型進行人臉偵測
20-4 用 YuNet 深度學習模型進行人臉偵測
20-E 小專案:觀察不同方法的即時人臉偵測
▍第 21 章 OpenCV 人臉辨識
21-1 本章共通觀念:準備環境、人臉訓練資料
21-2 透過傳統 LBPH 方法進行人臉辨識
21-3 透過深度學習的 SFace 模型進行人臉辨識
21-4 生活中的人臉辨識應用情境
21-E 小專案:即時人臉辨識系統
▍第 22 章 OpenCV 物件偵測
22-1 什麼是「物件偵測」?
22-2 使用 YOLO 深度學習模型進行物件偵測
22-3 從 YOLO 結果中篩選物件類別
22-4 補充:YOLOv8 的不同大小模型
22-E 小專案:即時攝影機 YOLO 偵測與生活應用
▍第 23 章 OpenCV 物件追蹤
23-1 什麼是「物件追蹤」?
23-2 本章共通函式:追蹤器與 ROI 框選
23-3 KCF 追蹤器
23-4 CSRT 追蹤器
23-5 自動偵測並追蹤:透過 YOLOv8 + KCF 實現自動追蹤
23-6 補充:其他 OpenCV 提供的追蹤器
23-E 小專案:「視覺化」追蹤軌跡與應用情境
▍第八部分 OpenCV 日常生活實用專案
▍專案 1 讓電腦自己玩遊戲!挑戰 Chrome 小恐龍
專案1-1 觀察與拆解:這個問題可以自動化嗎?
專案1-2 事前準備:安裝相關套件
專案1-3 鎖定範圍:螢幕截圖與 ROI 選取
專案1-4 分析畫面:背景差異分析與障礙物偵測
專案1-5 組裝程式:讓電腦自動遊玩!
專案1-6 驗證成果:測試結果與觀察
專案1-7 未來展望:如何讓小恐龍可以跑得更遠
▍專案 2 當電腦學會「看懂」遊戲:自動玩 2048
專案2-1 觀察與拆解:讓程式先「看懂」棋盤
專案2-2 事前準備:安裝相關套件、準備影像素材
專案2-3 鎖定範圍:螢幕截圖並將格子定位
專案2-4 分析遊戲:使用「模板匹配」進行數字辨識
專案2-5 實作遊戲機制:模擬 2048 遊戲機制
專案2-6 進行解題:貪婪策略
專案2-7 監控視窗:觀察遊戲進行的狀態
專案2-8 組裝程式:由主程式作為進入點開始遊戲!
專案2-9 驗證成果:測試結果與觀察
專案2-10 未來展望:如何更有效率且穩定地解出 2048
▍專案 3 刷臉就開門?自製居家智慧人臉門禁
專案3-1 觀察與拆解
專案3-2 事前準備:Telegram Bot 申請與人臉資料集
專案3-3 人臉偵測:用 YuNet 找出人臉位置
專案3-4 讓程式「認識」有哪些人
專案3-5 人臉辨識:拿特徵向量跟資料庫逐一比對
專案3-6 門禁反應:記錄並顯示結果
專案3-7 組裝程式:完整的即時攝影機門禁流程
專案3-8 實際測試:站到攝影機前,你能成功通過門禁嗎?
專案3-9 未來展望:如何優化門禁?
▍專案 4 貓咪偷進廚房怎麼辦?自製智慧寵物攝影機
專案4-1 觀察與拆解:如何實現一個智慧居家攝影機?
專案4-2 事前準備:建立 Telegram Bot 與環境設定
專案4-3 接通攝影機:讀取即時影像
專案4-4 偵測寵物:讓 YOLO 找出畫面中的寵物
專案4-5 框選禁區:只要目標進入就算入侵
專案4-6 Telegram 截圖通知:讓手機看到現場畫面
專案4-7 組裝程式:從偵測、判斷到通知的完整流程
專案4-8 實際測試:讓寵物走進警戒區看看
專案4-9 未來展望:讓居家寵物攝影機更聰明
▍專案 5 動手做自己的簡易版 Photoshop!
專案5-1 觀察與拆解:把修圖軟體的功能拆成一個個零件
專案5-2 事前準備:透過 Tkinter 開啟檔案
專案5-3 雙視窗顯示(影像、控制)與自動視窗排版
專案5-4 影像處理相關函式
專案5-5 影像標註工具
專案5-6 影像狀態列實作
專案5-7 組裝主程式流程
專案5-8 實際測試:測試我們自製的簡易版 Photoshop!
專案5-9 未來展望:讓自製的 Photoshop 有更多豐富的功能!













