s1091402 作業1

題目敘述

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

開發環境

Windows10、Spyder (Python 3.8)、OpenCV 4.7.0

說明

cv2.imread() 讀取圖片
cv2.imshow() 顯示圖片
(h, w, d) = img.shape 獲取圖片長寬高
center = (w//2, h//2) 計算中心座標
radius = min(w//2, h//2) 得到最小半徑

cv2.createTrackbar()建立滑桿
cv2.waitKey(0) 等待按鍵輸入
cv2.destroyAllWindows() 關閉視窗

(a)

cv2.getRotationMatrix2D() 創建二維旋轉矩陣
cv2.warpAffine() 將指定圖像根據旋轉矩陣進行旋轉

(b)

np.zeros_like()建立與圖形一樣大小的遮罩
cv2.circle()在遮罩上畫一個圓形

cv2.bitwise_not()建立一個與原本反過來的遮罩,並建立白色背景

將原圖分別在兩遮罩上進行cv2.bitwise_and()以得到所需部分的圖(cr、background)




同(a),對圖像進行矩陣旋轉
最後用cv2.add()將兩圖(cr、background)合併

結果







留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6