s1071413 作業1

 

一、作業說明

撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。


二、開發環境

  • Windows10
  • Visual Studio 2019
  • C++
  • OpenCV 4.7.0

三、程式說明

  1. 參數宣告




    img:整張圖片    img_rotated:旋轉過的整張圖片
    img_circular:中心圓區域的圖片   img_circular_rotated:旋轉過的中心圓區域的圖片。
    以及兩種旋轉方法的旋轉角度,使用在滑動條函數。

  2.  funtion (a):旋轉整張圖片


    首先計算圖片中心點的xy坐標,然後使用 getRotationMatrix2D 計算旋轉矩陣, warpAffine 進行旋轉,將旋轉後的圖像顯示出來。

  3. funtion (b):旋轉中心圓部分


    一樣先計算圖片中心點,然後使用circle函數畫一個圓形mask。
    使用clone複製img的圖檔存到img_circular,然後使用setTo函數瞄準mask區域。

    接著一樣使用getRotationMatrix2D計算旋轉矩陣、warpAffine進行旋轉。
    最後用copyTo將旋轉後的mask複製到新圖像中並顯示。

  4. main:
    imread讀取圖片檔。然後使用namedWindow和createTrackbar創建兩個視窗和兩個可調節的滑動條,並將它們與funtion(a)(b)聯結。
    然後就可以隨便轉了。

四、成果展示













demo影片:

https://drive.google.com/file/d/17869vQdh-bNeH9eORT7HMX9KfepatWZC/view?usp=sharing

留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1