s1101440 Homework #1


1122 Digital Image Processing Assignment #1 

學號1101440                     姓名崔祐誠

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

專案目標:開發一款能夠讓使用者選取圖像中的特定區域,並對該區域進行裁切、旋轉和縮放的工具,以生成適合網頁設計需求的圖片素材。

開發平台:Microsoft Windows 11, Visual Studio 2022, OpenCV 4.90, C++14

程式架構與功能說明: 

1.資料輸入階段:首先,使用者透過輸入圖片檔名稱ex:yzu1.jpg,以及用於裁切的目標圖片尺寸。

2.預覽與調整階段:程式會創建Preview Window,展示所選擇的原始圖片。同時,通過不同功能的Trackbar讓使用者能夠實時調整圖像的縮放比例、旋轉角度以及目標裁切區域的位置。其中包括:

Zoom:對圖片進行縮小放大操作。

Rotate:控制旋轉角度。

iniX iniY:定位矩形裁切區域左上角的 X Y 坐標。

SaveFile:若拉桿設置為1,則儲存矩形框內圖片。

3.選取與儲存階段:另外一個視窗Select Window會顯示根據調整後的圖像,並用一個目標大小的黑色矩形框出用戶即將裁切的區域。這讓使用者可以更精準地選擇想要的圖片部分。當使用者通過調整得到滿意的圖像後,將 "SaveFile" 拉桿拖動至 1,程式則會將該圖像保存至指定的輸出目錄下。

程式說明:

資料輸入階段:  

預覽與調整階段:創建視窗跟trackbars

選取與儲存階段:這是畫矩形的指令

成果展示與討論:

範例一: 

輸入:yzu1.jpg,600,400






 

 

範例二:

                                                                                                                                                                                                                  一樣輸入:yzu1.jpg,600,400

 

範例三:

                               

                                                            

範例四

輸入:yzu3.JPG        300,600


 


遇到困難及解決方法:

1.    圖片邊界問題:圖片的旋轉和縮放使得Trackbar的靜態設置難以適用。解決方法是計算當前縮放比例下的圖片最大長寬,並限制iniXiniY值,防止它們超出圖片邊界。

2.    存檔問題: 最初計劃添加路徑檢查和動態目錄創建功能,但由於C++版本限制和權限問題,這一想法被放棄。改為在作業文件中預先創建好資料夾,並使用相對路徑進行操作。

3.    矩形顏色問題: 初步選擇的細灰色線條在某些情況下會出現消失的問題。後來改用較粗的黑色線條後,問題得到解決。

 

留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1