s1093310 Homework #1

 

1122 Digital Image Processing Assignment #1 報告

 

學號: 1093310   姓名: 胡凱騰

 

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

 

專案目標:

基於pythonopencv撰寫一個程式,透過輸入指令或交互介面提供使用者縮放、旋轉圖像,和選取裁切區塊。

 

開發平台:

       Microsoft Windows 10, Visual Studio Code, Python 3.10.11, opencv-python 4.9.0.80

 

功能說明:

       以命令列引數的方式傳入要操作的圖像檔案路徑,可選擇是否傳入長寬,僅傳入長寬其中之一也可以,另一未傳入的邊會維持原始值。若有傳入長寬,則程式一開始便會將圖像縮放成該大小,使用命令列引數-h來獲得更詳細的資訊。

1. 傳入長寬,若原始圖像過大會顯示警告,告知視窗或許無法完整顯示圖像

 

2. 傳入 –h

 

       當開啟程式後最左方會顯示>>>,代表能開始輸入所需操作的相關指令,輸入help來顯示所有可用指令,接著會一一說明其功用。

3. 所有可用指令

>>> ROI [-o]
      
進入框選想裁切區域的互動模式,可以直接在preview視窗上點擊以框選裁切區域。可選擇傳入-o以覆蓋過往所框選的裁切區域,若未傳入且已框選過裁切區域則會禁止再次框選。

4. 透過在preview視窗中點擊兩下來框選裁切區域

>>> ROI_rm

       移除已框選的裁切區域。

 

>>> ROI_move

       透過trackbar調整裁切區域的位置,點擊previewtrackbar視窗並輸入w儲存操作的結果,輸入q取消該操作。

5. 調整裁切區域位置,會防止超出邊界 

>>> img_state

       顯示當前影像的長寬


>>> img_rotate

       透過trackbar旋轉圖像,點擊previewtrackbar視窗並輸入w儲存操作的結果,輸入q取消該操作。

6. 旋轉圖像

>>> img_resize width height

       將圖像長寬縮放為指定的整數數值,若有框選裁切區域,會將其移除。

7. Resize,若有裁切區域被移除會顯示警告 

>>> undo [n] & redo [n]

       復原或取消復原,可選擇傳入一整數參數n,將會復原或取消復原n次。

 

>>> save_as path

       將結果儲存至指定path,若指定儲存為png且有裁切到先前旋轉後黑色背景的部分,該部分會是透明的。

8. 裁切後的透明區域 

>>> save

       儲存至原路徑。


成果展示:





留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6