s1093525 Homework #1
1122 Digital Image Processing Assignment #1報告
學號:s1093525 姓名:黃全福
主題: 圖像感興趣區域裁切、旋轉與縮放
專案目標:
撰寫一個 OpenCV 程式,讀取一張圖像,使用者可以從圖像選取一個感興趣的矩形區域,進行裁切、旋轉與縮放後儲存成一張新圖像。
開發平台:Microsoft Windows 11, Visual Studio 2022, OpenCV 4.90, python
程式架構與功能說明:
1. 使用者從 Conslole 視窗輸入下列資料,來源照片檔案名稱(包含副檔名) 目標圖片的 尺寸的寬與高,如紅色字體:
input image filename:yzu1.jpg
target image Width:600
target image Hidth:400
2. 建立一個 preview window 顯示原始圖片,並設計 Trackbar 讓使用者調整圖像縮放比例、旋轉角度與目標矩形,並可儲存圖片。 (當原始照片解析度超過800*800時,視窗會自動調整至800*800)
Zoom:縮放比例
Rotate:旋轉角度
iniX: 矩形左上點 x 座標
iniY: 矩形左上點 y 座標
SaveFile: 儲存檔案
3. 利用一個 select window 顯示縮放與旋轉後影像,在上面用一個目標大小(如 600×400 像素)的黑色矩形,顯示目前區域讓使用者可以即時看到選取的目標圖像。
4. 使用者透過 preview window 的 trackbar 調整得到理想的目標圖像後,將 SaveFile trackbar 拖曳至 1 將圖片存到 output 目錄下的檔案 crop.jpg。
5. 成果展示與討論:
使用者在 console 輸入圖片(yzu.png 大小 4032×3024)與目標圖片大小(600×400)後,顯 示 preview window 與 select window,利用 trackbar 調整 Zoom, Rotate, iniX, iniY 等參數, 可以從 select window 中看到選取的圖像區域。
執行範例 1. 使用 preview window 的 zoom, iniX, iniY trackbar 調整選取矩形區域,利用 saveFile 存檔,得到目標 600×400 輸出圖像 crop.jpg。
執行範例 2. 使用 preview window 的 Zoom, iniX, iniY, trackbar 調整選取矩形區域,利用 saveFile 存檔,得到目標 600×400 輸出圖像 crop.jpg。
執行範例 3. 使用 preview window 的 Zoom, Rotate, iniX, iniY trackbar 調整選取矩形區 域,利用 saveFile 存檔,得到目標 600×400 輸出圖像 crop.jpg。
執行範例 4. 使用者在 console 輸入圖片(yzu.png 大小 4032×3024)與目標圖片大小 (300×600)後,使用 preview window 的 Zoom, iniX, iniY trackbar 調整選取矩形區域,利 用 saveFile 存檔,得到目標 300×600 輸出圖像 crop.jpg。
留言
張貼留言