[s1083510 Homework #1]


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

專案目標:

    運用Python中的OpenCV函式庫,撰寫一個程式。讀取一張圖像,使用者可以放大(或縮小)、旋轉圖像,並選取一個感興趣的矩形區域做裁切並儲存。

    以元智大學照片為例,程式希望能讓不同大小的相片設定成相同大小(600x600像素)以方便使用者觀看及裁切。


開發平台:Microsoft Windows 11, Visual Studio Code (version 1.86), OpenCV 4.9.0, python 3.11.5


    下圖程式為對圖像做前處理,包含了旋轉和縮放的操作。並把borderValue設置為白色(預設為黑色)


    下圖為onMouse()函示,設置三個EVENT,分別是EVENT_LBUTTONDOWN左鍵點擊、EVENT_MOUSEMOVE滑動,以及EVENT_LBUTTONUP左鍵放開。用來偵測滑鼠所畫出之矩形。


建立一個叫做'pic'的600x600像素window顯示原始圖片,設計Trackbar讓使用者調整圖像縮放比例、旋轉角度與目標矩形,並可儲存圖片。



Trackbar介紹:
Degree:旋轉角度
Zoom:縮放比例(初始直設100為原本比例)




可旋轉圖片至自己想要的位置並裁剪,可看到圖中顯示綠色方框,為裁剪的部分。以及裁剪出儲存至目錄下的圖片。






可縮放圖片至自己想要的位置並裁剪,可看到圖中顯示綠色方框,為裁剪部分。以及裁剪出儲存至目錄下的圖片。

















留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1081444 Homework #7