tft每日頭條

 > 生活

 > opencv圖像旋轉

opencv圖像旋轉

生活 更新时间:2024-07-19 07:21:48

opencv圖像旋轉(OpenCV學習之路-29.圖像的翻轉)1

翻轉也稱鏡像,是指将圖像沿軸線進行軸對稱變換。水平鏡像是将圖像沿垂直中軸線進行左右翻轉,垂直鏡像是将圖像沿水平中軸線進行上下翻轉,水平垂直鏡像是水平鏡像和垂直鏡像的疊加。

以水平鏡像為例,圖像寬度為 fw,像素點 (x,y) 以垂直中軸線為中心進行左右對換,可以由以下公式描述:

opencv圖像旋轉(OpenCV學習之路-29.圖像的翻轉)2

由上式構造鏡像變換矩陣 MAF,由函數 cv2.warpAffine 可以計算變換後的鏡像圖像。

簡便地,OpenCV 提供了 cv2.flip 函數,可以将圖像沿水平方向、垂直方向、或水平/垂直方向同時進行翻轉。

函數說明:

cv2.flip(src, flipCode[, dst]) -> dst

參數說明:
  • scr:變換操作的輸入圖像
  • flipCode:控制參數,整型(int),flipCode>0 水平翻轉,flipCode=0 垂直翻轉,flipCode<0 水平和垂直翻轉
  • dst:變換操作的輸出圖像,可選項
基本例程:1.38 圖像的翻轉(鏡像)

# 1.38 圖像的翻轉 (鏡像) img = cv2.imread("../images/Fractal03.png") # 讀取彩色圖像(BGR) imgFlip1 = cv2.flip(img, 0) # 垂直翻轉 imgFlip2 = cv2.flip(img, 1) # 水平翻轉 imgFlip3 = cv2.flip(img, -1) # 水平和垂直翻轉 plt.figure(figsize=(9, 6)) plt.subplot(221), plt.axis('off'), plt.title("Original") plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) # 原始圖像 plt.subplot(222), plt.axis('off'), plt.title("Flipped Horizontally") plt.imshow(cv2.cvtColor(imgFlip2, cv2.COLOR_BGR2RGB)) # 水平翻轉 plt.subplot(223), plt.axis('off'), plt.title("Flipped Vertically") plt.imshow(cv2.cvtColor(imgFlip1, cv2.COLOR_BGR2RGB)) # 垂直翻轉 plt.subplot(224), plt.axis('off'), plt.title("Flipped Horizontally & Vertically") plt.imshow(cv2.cvtColor(imgFlip3, cv2.COLOR_BGR2RGB)) # 水平垂直翻轉 plt.show()

opencv圖像旋轉(OpenCV學習之路-29.圖像的翻轉)3

(本節完)

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved