作業說明:
撰寫一個程式,將一張圖像的整張圖像、中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359 度),且能利用滑動條(trackbar) 控制圖片的旋轉角度。
使用環境/語言:
- Windows10
- Visual Studio 2019
- Opencv-4.3.0
- C++
實作方法:
- 輸入圖片路徑後,會檢查是否可讀取到圖片內容,若不行,則重新輸入圖片路徑。
- 輸入欲旋轉的角度。
- 會輸出三種圖:原圖、整張圖像旋轉的圖、中心內切圓區域旋轉的圖
- 整張圖像旋轉的圖: 利用 getRotationMatrix2D 求出旋轉矩陣 , 再利用 warpAffine 將圖片旋轉。
- 中心內切圓區域旋轉的圖: 利用每個點座標與圓心之間的距離,判斷是否屬於圓。將所有屬於圓的點座標做成一張圖(a),不屬於圓的點座標做成另外一張圖(b)。 然後圓形圖會根據輸入的角度作旋轉(c)。旋轉完後,再將(b)圖與(c)圖合併。
- 印完圖像後,可讓使用者選擇是否要繼續輸入旋轉角度,觀察同張圖片不同旋轉角度的效果,若輸入^z,則回到第二點的流程。
- 第一點的流程輸入0,則終止程式。
沒有留言:
張貼留言