s1091537 Homework #1

 

1122 Digital Image Processing Assignment #1 報告

學號:s1091537 姓名:蔡佾家

主題:圖像感興趣區域裁切、旋轉與縮放

專案目標:

    使用者在輸入圖片檔名與目標矩形的大小後,會彈出一個符合使用者螢幕大小的視窗顯示圖片,目的是避免原始圖片過大或太小,使其能兼容任意大小的圖片。接著,使用者可以透過拖拉方式直接在圖片上圈選出一個與目標矩形比例相同的感興趣區域,並且透過預覽視窗確認效果、儲存圖片。此外,也可以透過拉桿對圖片進行旋轉操作。

    本專案遭遇最大的困難是動態圈選感興趣區域的功能。我根據可能的數種情況(剛開始拖拉、拖拉過程中、拖拉完成),讓程式顯示出相對應的圖片資訊:剛開始拖拉只顯示左上角的點、拖拉過程中根據比例不斷計算出矩形供使用者預覽、拖拉完成後維持不動同時跳出預覽視窗。透過良好的設計,最終程式能在流暢的運行下給予使用者良好的操作體驗。

開發平台:Microsoft Windows 11, Visual Studio Code, OpenCV 4.6.0, Python 3.7.9

程式架構與功能說明

首先,程式會要求使用者輸入圖片路徑和目標尺寸(高和寬)。接著,程式將圖片按比例縮放以適應預設的顯示尺寸,並提供旋轉功能讓使用者可以透過滑動條調整圖片的角度。

使用者可以使用滑鼠在圖片上點擊並拖動以選取一個矩形區域,程式會根據目標尺寸的比例自動調整選取框的大小。當使用者釋放滑鼠按鍵後,即選定區域,會跳出預覽視窗。

最後,使用者可以儲存調整後的圖片。程式將在指定的輸出路徑下儲存一個名為 "output.jpg" 的文件,其中包含了經過旋轉、裁切和尺寸調整後的圖片。

成果展示與討論

1. 先在終端機中輸入檔名與目標圖像的長寬,以600×400為例,輸入完成後會跳出GUI視窗。

2. 可使用拉桿旋轉圖片,以+18°為例。接著圈選出感興趣區域(矩形強制與600×400等比例)。

3. 跳出預覽視窗並自動儲存為output.jpg。




留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2