作業說明:
- 將一張圖像用兩種方式旋轉(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359度)
- 利用一個滑動條(trackbar)控制旋轉角度。
開發環境:
- Window10
- Microsoft Visual Studio 2019
- C++
- OpenCv 4.5.5
程式說明:
- 輸入圖片名稱或路徑(如要輸入名稱請把圖片和.cpp檔放一起)
- 創造兩個window並將其附加trackbar
- 一個視窗是以圖片為中心整張旋轉
- 另一個也是以圖片中心旋轉,但只旋轉其內切圓的部分
- 在視窗顯示期間持續偵測是否有拉動trackbar
- 如果有,就呼叫其對應的 call back function 來完成任務
- 旋轉整張圖片的功能是使用 getRotationMatrix2D 計算出旋轉矩陣在使用 warpAffine 來對圖片進行處理
- 內切圓則是先計算出半徑後再將圖片分割成內切圓及非內切圓的部分,再利用第七點的方式對其旋轉,最後再將兩張圖合成
- 最後等使用者輸入 waitKey(0) 來中止程式
執行結果:
原圖
內切圓旋轉
整張圖旋轉
參考資料:
- https://blog.csdn.net/xingchenbingbuyu/article/details/50719569
- https://docs.opencv.org/3.4/da/d6a/tutorial_trackbar.html
- https://ithelp.ithome.com.tw/articles/10236235
沒有留言:
張貼留言