s1051418 Homework #1
1122 Digital Image Processing Assignment #1
報告
學號:s1051418 姓名:蔡杰儒
主題:圖像感興趣區域裁切、旋轉與縮放
專案目標:
撰寫一個OpenCV 程式,讀取一張圖像,使用者可以從圖像選取一個感興趣的矩形區域,裁切並縮放至指定的大小後儲存成一張新圖像,作為網頁設計的圖片素材。以網頁要在一個600×400 像素區域顯示一張元智大學無限延伸景點介紹圖片,而手機拍攝照片大小為4032×3024 像素的張照片為例。程式希望讓不同使用者根據自己需求從照片選取涵蓋無限延伸藝術裝置區域(如紅色方框或黃色方框)並縮放成320×200像素的圖片輸出存成一個新的檔案。
開發環境:Microsoft
Windows 10, Visual Studio 2019, OpenCV 4.6.0, C++
程式架構與功能說明:
設置五個TrackBar:Zoom(縮放)、Rotate(旋轉)、iniX(指定點的X座標)、iniY(指定點的Y座標)、SaveFille(儲存) 除了SaveFile先經由onSwitchTrackBar再傳去onTrackBar其他都回呼函數onTrackBar
主要功能使用:
1.
createTrackbar:生成軌跡條
2.
resize:縮放大小
3.
point2f:找尋圖片指定座標
4.
getRotationMatrix2D/warpAffine:生成旋轉矩陣來讓圖片進行旋轉
5.
rectangle:生成矩形
6.
setTrackbarMax/setTrackbarPos:控制軌跡條的極限值與起始數值
7.
imshow/imread/imwrite:顯示/讀取/儲存圖片
成果展示與討論:
使用者在console輸入圖片(yzu1.jpg)(4032×3024)與目標圖片大小(600×400)後,顯示preview window利用TracBbar調整Zoom,Rotate,iniX,iniY等參數
執行範例1
使用image window的iniX,iniY,trackbar調整選取矩形區域,利用saveFile存檔,得到目標320×200輸出圖像crop.jpg

執行範例2
使用image window的Zoom,iniX,iniY,trackbar調整選取矩形區域,利用saveFile存檔,得到目標320×200輸出圖像crop.jpg
執行範例3
使用image window的Zoom,Rotate,iniX,iniY,trackbar調整選取矩形區域,利用saveFile存檔,得到目標320×200輸出圖像crop.jpg
執行範例4
使用者在console輸入圖片(yzu3.jpg)(4032×3024)與目標圖片大小(300×600)後,使用preview window的Zoom,iniX,iniY trackbar調整選取矩形區域,利用saveFile存檔,得到目標300×600 輸出圖像crop.jpg















留言
張貼留言