s1091521 Homework #1
s1091521 1122 Homework #1
1122 Digital Image Processing Assignment #1
學號:1091521
姓名:林哲慶
主題:圖像感興趣區域裁切、旋轉與縮放
專案目標:
使用Python撰寫一個OpenCV程式,透過選擇設定檔並讀取,依照設定檔案之寬高、圖像檔案讀取一張圖像。而使用者可從介面調整圖像與矩形,選取一個欲擷取之矩形區域,裁切並縮放至指定的大小後儲存成一張新圖像。
開發平台:
Windows 11, Python 3.9.10, OpenCV-Python 4.9.0, Visual Studio Code
功能說明、範例:
範例一 & 功能說明
本次範例使用t1.ini作為輸入,配合範例與截圖介紹功能以及操作。
1. 使用者可以按照p1.執行程式,並選擇輸入檔進行圖片讀取。
p1. 執行程式,並輸入已設定完成的.ini輸入檔檔名
p2. & p3. 整個專案的檔案與結構與.ini輸入檔的格式
輸入檔可由使用者自行設定,可重複利用並增加便利性。
2. 透過輸入檔案讀取完畢後會彈出兩個視窗,p4.為設定視窗,下方為讀取成功並按照指定大小讀取的圖片;p5.則為預覽視窗,再設定視窗所更改的調整都會顯示在這裡。
p4. & p5. 輸入檔t1.ini讀取後的設定視窗以及預覽視窗
3. 以下是設定參數介紹
- Zoom (25 ~ 100): 預設值為50,最小可以將圖片縮小為1/2大小,最大放大2倍。
- Rotate (0 ~ 360): 預設值為0,旋轉圖片,不影響選取用之矩形。
- X (0 ~ 圖片寬度): 設定矩形隻左上座標之X位置。
- Y (0 ~ 圖片高度): 設定矩形隻左上座標之Y位置。
- W (0 ~ 圖片寬度): 設定矩形寬度。
- H (0 ~ 圖片高度): 設定矩形高度。
p6. & p7 用左視窗設定,將綠色矩形調整至選取區塊,可於右側預覽視窗顯示
4. 關閉任一視窗後,會自動將選取區塊儲存成圖片,圖片會在image資料夾內,檔案為cropped_image.jpg。
p8. & p9. p6~p7操作結束後擷取之圖片與圖片位置
範例二
本次範例使用t2.ini作為輸入,並測試旋轉功能。
p10. 再次執行程式,本次使用t2.ini的輸入檔
p11. & p12. 輸入檔t2.ini讀取後的設定視窗以及預覽視窗
p13. & p14. 本次測試先將圖片旋轉180度,放大成122%,再選取擷取位置
p15. p13~p14操作結束後擷取之圖片
Demo 影片👇