s1071413 作業1
一、作業說明
撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。
二、開發環境
- Windows10
- Visual Studio 2019
- C++
- OpenCV 4.7.0
三、程式說明
- 參數宣告
img:整張圖片 img_rotated:旋轉過的整張圖片
img_circular:中心圓區域的圖片 img_circular_rotated:旋轉過的中心圓區域的圖片。
以及兩種旋轉方法的旋轉角度,使用在滑動條函數。 - funtion (a):旋轉整張圖片
首先計算圖片中心點的xy坐標,然後使用 getRotationMatrix2D 計算旋轉矩陣, warpAffine 進行旋轉,將旋轉後的圖像顯示出來。 - funtion (b):旋轉中心圓部分
一樣先計算圖片中心點,然後使用circle函數畫一個圓形mask。
使用clone複製img的圖檔存到img_circular,然後使用setTo函數瞄準mask區域。
接著一樣使用getRotationMatrix2D計算旋轉矩陣、warpAffine進行旋轉。
最後用copyTo將旋轉後的mask複製到新圖像中並顯示。 - main:
imread讀取圖片檔。然後使用namedWindow和createTrackbar創建兩個視窗和兩個可調節的滑動條,並將它們與funtion(a)(b)聯結。
然後就可以隨便轉了。
四、成果展示
demo影片:
https://drive.google.com/file/d/17869vQdh-bNeH9eORT7HMX9KfepatWZC/view?usp=sharing
留言
張貼留言