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功能為選擇所要的區塊,最後的條件就是你一定得選擇區塊才能夠輸出圖片。





留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1081444 Homework #7