iT邦幫忙

2025 iThome 鐵人賽

DAY 1
0

人類如何看見世界

在正式進入圖像處理與電腦視覺的領域之前,先來簡單說明「人類如何看見世界」這件事。
人類的眼球由數個構造所構成,包含瞳孔 (pupil)、水晶體 (lens)、虹膜 (iris)、視網膜 (retina)、角膜 (cornea) 等等。當光線打過來時,他們的運作流程大致如下

  1. 光線捕捉:光線穿過眼角膜和水晶體,聚焦後在視網膜上成像。
  2. 訊號轉換:視網膜上的桿狀 (rods) 與錐狀 (cones) 細胞將光子轉換成電化學訊號。
  3. 訊號處理:電訊號透過視神經傳導至大腦,並進行各種處理與理解。

對電腦來說,這與一般的圖像處理比起來,如何「感知與理解」是最大的挑戰。

圖像處理

圖像處理 (image processing),是指對影像進行加工或最佳化,目的主要是改善影像的品質或從中提取資訊。圖像處理的輸入通常都是圖片,輸出則多為圖片或數據,應用包括但不限於:

拍照與修圖

手機添加的各種濾鏡、亮度與對比調整,以及所謂的「魔術橡皮擦」功能都屬於圖像處理的範疇。

醫學影像處理

透過電腦將 MRI 或 CT 影像的病變部位提高對比,協助醫生分析病情。或是進行影像分割,由電腦自動心臟等部位圈選,協助醫療人員判斷。

影像修復

使用各種方式,將黑白或模糊的照片上色與清晰化。

電腦視覺

電腦視覺 (computer vision) 的目標是讓電腦能夠理解圖像的內容。電腦視覺通常不改變圖片本身,追求的是讓電腦「看懂」其中的場景與脈絡。常見的應用有:

自動駕駛

目前快速發展的領域,透過多個攝影機讓車輛能感知行人、號誌、車道、障礙物等等,同時做出決策。

農業偵測

使用無人機或其他監控系統,偵測病蟲害、雜草,或是預估產量。

虛擬實境與擴增實境

虛擬實境 (virtual reality, VR) 跟擴增實境 (augmented reality, AR) 整合了虛擬與現實的感官體驗,常見的產品有 Apple 的 Vision Pro 與 Meta 的 Quest 等。

OpenCV 安裝

簡單介紹完相關應用後,我們首先要安裝我們第一個的 Python 套件:OpenCV。
OpenCV 由 Intel 所發起,為我們這 30 天鐵人賽中核心的圖像處理與電腦視覺套件。

我們的電腦環境如下:

  • 系統:Ubuntu 24.04.2 LTS
  • 處理器:Ryzen 7 7700
  • 記憶體:32 GB
  • 顯示卡:Radeon RX 9070 XT

同時我們會使用 Anaconda 開啟虛擬環境,可以到這裡進行安裝,本文不再贅述相關安裝與建立虛擬環境的流程。

首先開啟終端機,輸入

pip install opencv-python

如果安裝成功,我們在編輯器新建一個程式,並輸入

import cv2

即可導入套件,同時應該不會出現任何錯誤。

讀取與顯示圖片

我們可以透過 cv2.imread()cv2.imshow() 來讀取與顯示圖片

import cv2

img_path = cv2.imread('cat.jpg')    # 讀取圖片
cv2.imshow('Img', img_path)    # 顯示圖片
cv2.waitKey(0)    # 等待使用者按鍵
cv2.destroyAllWindows()    # 關閉所有由 OpenCV 建立的視窗

參數說明

cv2.imread(Image_Path)

  • Image_Path: 圖片的路徑

cv2.imshow(Window_Name, Image)

  • Window_Name:所開啟視窗的標題
  • Image:要顯示的圖片變數

cv2.waitKey(Time)

  • Time:開啟後等待使用者按下下一個按鍵的時間,單位為 ms,設為 0 代表永久等待

小結

今天我們簡介了人類視覺系統、圖像處理與電腦視覺的概念,並簡單使用 OpenCV 來讀取與顯示圖片。在明天的鐵人賽中,我們將更深入地使用 OpenCV 的各種功能,以及說明色彩空間的概念。


下一篇
Day 2 - 像素與色彩空間
系列文
從0開始:傳統圖像處理到深度學習模型23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言