2022年2月26日 星期六

s1073331 作業2

 

一、 作業說明

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

二、 作業環境

Windows 10OpenCV 4.5.5Visual Studio 2017

三、  實作方法、執行結果

1.input的圖片放入專案資料夾內,編譯程式後,輸入圖片名稱,如:XXXX.jpg。如檔案位置錯誤或名稱錯誤會跳出訊息,並且結束程式。

2.成功之後會跳出圖片,上方會有滑動條,可以調整角度,預設為零度,可以從0~360度,並及時出現在畫面中。

程式實作原理:

  (1)首先,要先針對原圖進行分割處理,切出一個內切圓的圖、還有一個外框。

  (2)分割的原理,先創兩個空白Mat物件,然後在原始圖片上切出一個圓圈,程式尋訪每個點,然後判斷該點是不是在圈內,如果是就將該點的資料複製到其中一張圖上,反之依然,圈外就複製到另外一張圖上,最後切出來的結果如下所示。





  (3)我們再將只有圓的圖,利用getRotationMatrix2D()、warpAffine()進行旋轉的動作。



  (4)最後,再利用分割的尋訪模式,將旋轉過後的圖,重新映射回只有外框的圖上。



  (5)加上拉條,完成。


  (6)3/10補充:整張圖的旋轉:

  (6-1)可以選擇,要旋轉何種方式、並且有防呆機制

 (6-2)輸入a可以旋轉整張圖片



沒有留言:

張貼留言