s1083513 作業1

 

一、作業主題: 圖像旋轉 (Image Rotation)

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

二、開發環境

Windows 10/Visual Studio 2022 C++/OpenCV 4.7.0

三、實作方法

1. imread() 讀取圖像。

2. 輸入mode a b

3. 如果mode =“a”,可以利用trackbar控制整張圖像旋轉角度。

4. 如果mode =“b”,只可旋轉中心內切圓區域圖像。

 

相關功能說明

l   建立trackbar(逆時針旋轉 0 度至 359 ): createTrackbar()來控制旋轉角度

l   顯示新視窗: namedWindow()

l   旋轉圖像:

(a)  利用getRotationMatrix2D(center, angle, scale)透過定義旋轉圖像的中心、角度、縮放比例來得到目標矩陣,再用warpAffine()來處理仿射變換後的圖像。

(b)  建立與原圖大小一樣的mask圖像,並將所有像素值初始化為 0 (全黑),並用circle()將中心內切圓區域的所有值設置為255,再使用copyTo()把原始圖複製到result上,且對應mask中像素值為0的區域不會貼到圖上,最後以imshow()顯示執行結果。


四、執行結果

    Mode (a):

                                                                                                   旋轉26


旋轉132

旋轉224


Mode (b)

                                                                                            旋轉49


                                                                                                  旋轉
200

 

旋轉322





留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6