作業說明:
撰寫一個程式,將一張圖像的整張圖像、中心內切圓區域,旋轉一個角度(逆時針旋 轉 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
沒有留言:
張貼留言