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度
Mode (b):
旋轉49度
留言
張貼留言