影像處理介紹與OpenCV介紹
影像處理(Image processing)是指對影像進行分析、加工、和處理。是電腦視覺(Computer Vision)內的一小領域。近期隨著AI的興起,深度學習及影像辨識 (Deep Learning and Image Recognition)也是越來越多人投入心力研究的主題,而我也不例外。
什麼是電腦視覺的(Computer Vision)?
人類的眼睛對於照片的吸收,是透過眼睛作為輸入,再到腦袋進行轉換成可以理解的形式(圖片左50%是個女人,右邊有棵樹),最後再透過語言轉達所見。對我們來說,理解圖片上的畫面是相當直覺與簡單的,但是對於電腦則不然,而是需要進行二進位的數值轉換,它才聽得懂。
而電腦沒有眼睛,照片本身的物件則是需要轉換成0跟1的形式去進行轉換與解釋。如我們過去所知,RGB是照片表達顏色的數值形式,黑色即#000000。而影像上的色彩對於電腦來說其實也就是一群排列整起的格狀數字罷了,各個像素點有其代表的數字(0-255)。
什麼是影像處理(Image processsing)?
圖片的蒐集來自於不同的設備,像是手機、Gopro、X光、紅外線熱像儀、CT、雷達、超音波等等…要轉為統一格式進行使用,則需影像處理的過程。
另外,在訓練資料前,或許整張照片有很大的面積是不需要的,進而需要做切除。又或者是圖片大小不符要求,需要進行縮放。還有圖片的光線不佳,需要進行調整。種種的圖片調整都屬於影像處理的範疇。
影像處理的應用有哪些?
- 修復影像解析度,使其更加清晰:衛星影像、醫學影像、舊照片重建等
- 媒體應用:美編設計、動畫影音或特效等
- 自動化偵測與辨識:產品分類、品保檢測、物體追蹤、指紋比對等
- 物體的定位:物體的2D或3D座標位置回推
影像處理工具-OpenCV
影像處理的方法及工具有很多,像是Photoshop、小畫家等等...
就Python而言有Opencv、PIL、scikit-image、Numpy等。而本篇將介紹Opencv。
OpenCV的全名是Open Source Computer Vision Library,是一種由Intel發起建置的電腦視覺的函式庫,可以在Linux、Windows、Android、Mac OS等作業系統上執行。可以用Python、Ruby、Java、C等程式語言上進行使用。透過OpenCV,可以進行圖像辨識和應用,包括影像的擷取、圖片的預處理和特徵的提取。
參考文獻: