Lab12 Preview Report - Jian-PingWang/EE2405 GitHub Wiki
Topics
- OpenCV or image processing libraries
- QT or GUI framework
OpenCV or image processing libraries
- Introduction
OpenCV(Open Source Computer Vision Library)是一個集合數百種演算法的跨平台電腦視覺庫。只要是針對影像做辨識、操作、分析等,不管是要做人臉辨識、物件辨識、車牌辨識、人形偵測、物件追蹤、影像壓縮、影像加密等各種影像處理,OpenCV確實是一個很好的輔助工具,目前已經可以在Windows、Linux、iOS及Android平台上使用,支援的程式語言有C/C++、Java、Python、Matlab、Ruby及C#等。
OpenCV可用於解決如下領域的問題:
- 人機互動
- 物體識別
- 圖像分割
- 人臉識別
- 動作識別
- 運動跟蹤
- 機器人
OpenCV提供簡單的GUI介面,像將影像顯示在螢幕上,在視窗上加上滑動桿和偵測滑鼠和鍵盤輸入,方便我們驗證或呈現結果。但因為OpenCV當初設計的時候著重在演算法的處理,所以關於系統硬體的支援,和介面元件的完整度都不高,所以假使想要開發完整的C/C++應用程式,還是需要像Qt、wxWidets之類的應用程式框架。
- Related parts of our lab
本次實驗將會學習 OpenCV 的基本原理及使用方法,甚至利用其來辨識物體的形狀或顏色等。
- Questions about the topics or our lab
目前尚無。
QT or GUI framework
- Introduction
圖形使用者介面(Graphical User Interface,簡稱GUI)是指採用圖形方式顯示的電腦操作用戶介面。與早期電腦使用的命令列介面相比,圖形介面對於使用者來說在視覺上更易於接受。然而這介面若要透過在顯示器的特定位置,以「各種美觀、而不單調的視覺訊息」提示使用者「狀態的改變」,勢必得比簡單的文字訊息呈現,花上更多的電腦運算能力,計算「要改變顯示器哪些光點,變成哪些顏色」。
而Qt是一個跨平台的C++應用程式開發框架。廣泛用於開發GUI程式,這種情況下又被稱為部件工具箱。也可用於開發非GUI程式,比如控制台工具和伺服器。
經過多年發展,Qt不但擁有了完善的C++圖形函式庫,而且近年來的版本逐漸整合了資料庫、OpenGL函式庫、多媒體函式庫、網路、指令碼函式庫、XML函式庫、WebKit函式庫等等,其核心函式庫也加入了行程間通信、多執行緒等模組,極大的豐富了Qt開發大規模複雜跨平台應用程式的能力,真正意義上實作了其研發宗旨「Code Less; Create More; Deploy Anywhere.」。
由於各家編譯器良莠不齊。Qt本身為了跨平台相容性,只能以「最低相容規格」來設計。因此 Qt 必須具備 RTTI、動態建立、Persistence/Serialization 的基礎建設,以及建構出自己的容器元件。
- Related parts of our lab
在本次實驗中,將會利用 QT 作為 OpenCV 的使用介面,來完成影像處理等功能。
- Questions about the topics or our lab
目前尚無。