2022年3月7日 星期一

s1081515 作業 2

 作業說明:

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

使用環境/語言:

  • Windows10
  • Visual Studio 2019
  • Opencv-4.3.0
  • C++
實作:

1. 讀取圖片

2. 判斷圖片是否存在

3. 若圖片不存在或發生例外時輸出錯誤訊息並結束程式

        4. 輸入想要旋轉的角度

        5. 會分別輸出三種圖:原圖、整張圖像旋轉、中心內切圓區域旋轉

        6. 切下來圓的圖利用getRotationMatrix2D()、warpAffine()進行旋轉的動作

        7. 中心內切圓區域旋轉的圖: 利用每個點座標與圓心之間的距離,判斷是否屬於圓。

        8. 在內切圓內的點座標複製到新mat的一張圖,內切圓外的點座標複製到另外一張圖

        9.內切圓的那圖依照輸入的角度去做旋轉,再將內切圓外的那張圖與旋轉後的內切圓重合

       10.整張圖像旋轉、中心內切圓區域旋轉的圖片皆可用trackbar分別去做旋轉和設定角度

執行結果:

原圖:

整張圖旋轉120度:

內切圓旋轉206度:


參考資料:

https://blog.csdn.net/xingchenbingbuyu/article/details/50719569

https://docs.opencv.org/3.4/da/d6a/tutorial_trackbar.html

https://www.cnblogs.com/wyuzl/p/7865536.html

https://www.itread01.com/content/1549734483.html

https://www.itread01.com/content/1550472847.html

https://blog.csdn.net/guduruyu/article/details/70799804

https://openweather.blogspot.com/2019/09/opencv-clonecopyto-opencvclonecopyto.html










沒有留言:

張貼留言