[s1101426 Homework #1]
1122 Digital Image Processing Assignment #1 報告
學號:1101426 姓名:謝鎬宇
主題: 圖像感興趣區域裁切、旋轉與縮放
專案目標: 撰寫一個 OpenCV 程式,可以根據使用者的選擇讀取他所要的圖片,使用者也可以透過自行調整功能的方式,來達成裁切並縮放至指定的大小後儲存成一張新圖像,滿足使用者需求。
開發平台:Microsoft Windows 11, Visual Studio 2022, OpenCV
4.90, C++
程式架構與功能說明:
使用者從 Conslole
視窗輸入下列資料,來源照片檔案名稱(包含副檔名) 目標圖片尺寸的寬與高。
input image
filename:yzu1.jpg
target image
Width:300
target image
Hidth:200
程式碼中,建立一個
preview window 顯示原始圖片,設計 Trackbar 讓使用者調整圖像縮放比例 旋轉角度與調整目標矩形位置,並可儲存圖片。
Zoom:縮放比例
Rotate:旋轉角度 iniX:
矩形左上點 x 座標 iniY:
矩形左上點 y 座標
saveim: 儲存檔案
創造一個select window 顯示縮放與旋轉後影像,在上面用一個目標大小的紅色矩形,顯示目前區域讓使用者可以即時看到選取的目標圖像,好讓使用者做操作。,如圖:
接者使用者可以透過 preview window 的 trackbar 調整得到理想的目標圖像後,將
saveim的trackbar 拖曳至 1 將圖片存到專案中的檔案 crop.jpg,如圖:
成果展示與討論:
使用者在 console 輸入圖片(yzu.jpg 大小 4032×3024)與目標圖片大小(300×200)
顯示 preview
window,利用 trackbar 調整 Zoom,
Rotate, iniX, iniY 等參數, 可以進而操作select window。
從 select
window 中看到選取的圖像區域。
功能分享:
1.Zoom功能:
縮放成
2.Rotate功能:
旋轉90度。
3.iniX和iniY使用功能:
框到裝置藝術上
4.savim使用功能:
裁切並儲存到檔案資料夾中
執行範例 1. 使用 preview window 的 zoom, iniX, iniY trackbar 調整選取矩形區域,利用 saveFile 存檔,得到目標 300x200 輸出圖像 crop.jpg。
執行範例 2. 使用 preview window 的 zoom, iniX, iniY trackbar 調整選取矩形區域,利用 saveFile 存檔,得到目標 600×400 輸出圖像 crop.jpg。
執行範例 3. 使用
preview window 的 zoom縮放,利用rotate旋轉90度, 並使用iniX,
iniY trackbar 調整選取矩形區域,最後利用saveFile 存檔,得到目標 300x200 輸出圖像 crop.jpg。
留言
張貼留言