s1093326 作業1

主題: 圖像旋轉 (Image Rotation)

一、題目說明

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

二、開發環境

OS: Windows 10
Editor: Visual Studio 2022
Language: C++
Package : OpenCV-4.7.0

三、程式碼說明

1. Trackbar: 使用createTrackbar()製作滑動條,每次滑動時angle會改變,並調用on_trackbar(),由on_trackbar()將數值傳入並對圖片進行操作


2. 中心內切圓區域:


(1)   mask

先將所有像素設為0(黑色),再使用circle()畫出內切圓,並將內切圓設為255(白色) (圖一)

(2)   內部

使用copyTo()將原圖(img)mask運算並存於src中   (圖二)

(3)   外部

先複製原圖到bg後利用setTo()bg會將mask的白色區域設置為0 (黑色) (圖三)

(4)   add()

將兩張圖片(圖二、圖三)合併 (圖四)

圖一                                                                          圖二

圖三                                                                         圖四

3. getRotationMatrix2D(): 先將center設為圖片中心後,利用getRotationMatrix2D()center為中心旋轉trackbar滑動的值(angle)


4. warpAffine(): 產生旋轉影像,並使用imshow()將圖片顯示





留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6