s1091455 作業1
題目說明:
撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域
旋轉一個角度(逆時針旋轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。
旋轉一個角度(逆時針旋轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。
開發環境:
environment : Ubuntu-22.04
language : C++ ( Visual Studio Code )
date : 2023/03/05
package : OpenCV - 4.7.0
excute command :
g++ main.cpp `pkg-config --libs opencv4` `pkg-config --cflags opencv4` && ./a.out
實作:
以下是完成後的結果:
(完成畫面)
可調整圖片旋轉的角度 ( 0~359 ),如果是旋轉小部分圖片的則還可以調整圓形的半徑大小
(左圖是將照片旋轉191度,而右邊則是讓半徑為62的圓形旋轉280度)
(左圖是將照片旋轉74度,而右邊則是讓半徑為125的圓形旋轉119度)
程式說明:
在 Function 中讀取圖片
namedWindow 創立名為 WholePicRotation 及 CenterRotation的視窗
createTrackbar 在視窗中建立 Trackbar 並將值存入變數中
getRotationMatrix2D 得到旋轉矩陣
wrapAffine 將原圖透過得到的旋轉矩陣進行旋轉
旋轉中間圓形區域
MakeCenterCircle 以我們選取的半徑得到中間圓形區域的範圍
wrapAffine 旋轉後,把我們所需要的圓形範圍 copy 到原圖中
最後就能呈現出中間圓形範圍旋轉的效果。
執行:
在 Ubuntu 中執行,在終端機中輸入執行指令:
g++ main.cpp `pkg-config --libs opencv4` `pkg-config --cflags opencv4` && ./a.out
執行 g++ 時會產生一個執行檔,預設名稱為 a.out
因此指令尾段的 ./a.out 就是在 Liunx 環境中執行檔案的指令
影片範例:
(Demo影片)







留言
張貼留言