s1080706 Homework #1


1122 Digital Image Processing Assignment #1 報告

學號: s1080706      姓名: 陳昕妤

 

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

專案目標:

使用C++撰寫一個OpenCV程式,使用者可以載入一張圖片,並在圖片中選擇一個感興趣的矩形區域,接著進行縮放和旋轉,最後裁切成使用者指定的影像大小,並將處理後的圖片存儲為新的檔案。

 

開發平台: Windows 11, Visual Studio2022, OpenCV 4.90, C++

 

影片連結: https://youtu.be/Id4gipQZVnU

 

程式架構與功能說明:

使用者先輸入所需裁切的圖片名稱(包含附檔名),若檔案開啟成功則接著輸入所需圖片的像素寬度與長度,如下列藍字

    Enter the image filename:yzu1.jpg

    Enter the target width:Enter the target width:640

    Enter the target Height:Enter the target Height:480

使用者輸入資料後,程式會生成一個Picture視窗及一個Select bar視窗,Picture用以檢視使用者所選取的圖片,由於圖片可能因過大而超出螢幕,因此視窗是以邊長縮小四倍的方式檢視,Select bar視窗則是讓使用者拖動滑桿來選擇所需的範圍,所選取的範圍用青色方框表示,青色方框在原圖上框選的初始大小就是使用者所需的圖片大小在原圖上的大小,如下圖所示。



: 因為視窗顯示的是縮小過的圖片,以此圖(4032×3024)為例,視窗中的大小為1008×756,而青色方框同樣與原圖一樣縮小四倍顯示,因此為160×120


Select bar上有五個滑桿,分別為ZoomPos X, Pos Y, Rotate以及Save Picture,各項功能如下:
  • Zoom代表方框的縮放倍率,起始值為100100代表邊長的1.0倍。
    • 最小值為50,代表縮放0.5




    • 401代表放大4.01倍。




  • Pos XPos Y代表青色方左上角在原始大小下的座標,初始值為(0, 0)
    • 拖動Pos X的效果:


    • 拖動Pos Y的效果:




  • Rotate代表旋轉角度,初始值為0,負數代表向右旋轉,正數代表向左旋轉。
    • Rotate負數時:



    • Rotate正數時:



  • Save Picture0時代表不儲存,當拖至1時則儲存圖片(檔名為Output.jpg)並開啟Result視窗,Result視窗中的圖片大小即為使用者所輸入的大小。


留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6