s1101421 Homework #1
1122 Digital Image Processing Assignment #1 報告
學號:s1101421 姓名:陳昱翔
程式碼連結:
https://drive.google.com/drive/folders/1VqztwuxX4zXfmPLUMww7ix56f3_KeB-i?usp=sharing
操作影片連結:
https://drive.google.com/file/d/14-Z3y1jr-FWTE9Mfy43FFVtO-hescQox/view?usp=sharing
主題:
圖像感興趣區域裁切、旋轉與縮放
專案目標:
以OpenCV完成一個可以讀取影像並生成一個600×400的像素區域,將讀取的影像適當縮小至可放入視窗中,在視窗中則可以進行裁切及旋轉,使用者可以自行決定旋轉幅度以及裁切大小,最後再將使用者所選定的照片匯出成一個新檔。(以下為示例)
開發平台:Microsoft Windows 11, Visual Studio 2022, OpenCV
4.90, C++
功能說明:
1.
使用者在執行程式後第一步先輸入要處理圖像的檔名。
2. 建立視窗來呈現使用者選取的圖片,我將視窗大小設置為600x400,圖片將自動縮放大小至視窗中。
3. 視窗內有Bar可以控制旋轉幅度,最大為360度。
4.
先拉動Bar來旋轉圖像,再用滑鼠選定擷取區域。
5. 最後按Enter或是空白鍵確定即可擷取影像,若是不滿意也可以重複選轉擷取圖片,檔案會以output.jpg輸出。
程式架構:
主要函數控制多個項目,首先是讀檔,這裡若是讀檔失敗則會輸出警告給使用者,然後我將圖片大小設定成600x400來避免圖片面積過大會放不下視窗的問題,接下來我要創建一個bar來控制旋轉角度,也就是creatTrackbar這個函數。
以下圖片為creatTrackbar的內容,我先設置用Print2f設置選轉中心點,這很重要,再來就是以中心點旋轉了,selectROI功能為選擇所要的區塊,最後的條件就是你一定得選擇區塊才能夠輸出圖片。
留言
張貼留言