s1083319 作業1
題目敘述
撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。
開發環境
l Windows 11
l Visual Studio Code
l Python 3.11
l OpenCV 4.7.0.72
Import
l cv2
l numpy
功能說明
Hw01(a) 旋轉整張圖像
# 讀取圖片
src = cv2.imread(filename)
# 開新視窗
cv2.namedWindow(" windowName ")
# 建立拉條並執行function
cv2.createTrackbar(' trackbarName ', ' windowName ', value, maxValue, function)
# 建立二維矩陣
rot_mat = cv2.getRotationMatrix2D(center, angle, scale)
# 旋轉
img_rotated = cv2.warpAffine(src, M, dsize)
# 顯示圖片
cv2.imshow(winname, mat)
Hw01(b) 旋轉中心內切圓區域
# 建立mask
mask = np.zeros(shape, dtype)
cv2.circle(mask, center, radius, color, thickness)
# 套用mask
img_center = cv2.bitwise_and(src1 ,src2)
# 之後旋轉完img_center
# 合併後輸出影像
result = cv2.addWeighted(img_center, 1, img_frame, 1, 0)
cv2.imshow(winname, result)
執行結果
Hw01(a)
Hw01(b)
留言
張貼留言