> 文档中心 > opencv图像旋转和翻转,cv2.flip,cv2.rotate

opencv图像旋转和翻转,cv2.flip,cv2.rotate

目录

翻转图像

图像旋转


翻转图像

        opencv中使用cv2.filp可以实现图像翻转

def flip(src, flipCode, dst=None)
  • src:输入图像
  • flipCode:flipCode 一个标志来指定如何翻转数组;0表示上下翻转,正数表示左右翻转,负数表示上下左右都翻转。
  • dst:输出图像

        下面代码对图像进行不同旋转。

import cv2import numpy as nplp = cv2.resize(cv2.imread('../images/lp.jpg'), None, fx=0.7, fy=0.7)# 翻转 0表示上下,正数表示左右,负数表示上下左右都翻转new_lp1 = cv2.flip(lp, 0)new_lp2 = cv2.flip(lp, 1)new_lp3 = cv2.flip(lp, -1)cv2.imshow('lp', np.hstack((lp, new_lp1, new_lp2, new_lp3)))cv2.waitKey(0)cv2.destroyAllWindows()


图像旋转

        opencv中使用cv2.rotate进行图像旋转

def rotate(src, rotateCode, dst=None)
  • src:输入图像
  • rotateCode:翻转角度,3种选择,90度,180度,270度
  • dst:输出图像

        对于rotateCode的选择如下

参数 描述
ROTATE_90_CLOCKWISE 顺时针旋转90度
ROTATE_180 旋转180度
ROTATE_90_COUNTERCLOCKWISE 逆时针旋转90度,也就是顺时针旋转270度

        下面代码对3个参数进行使用

import cv2lp = cv2.resize(cv2.imread('../images/lp.jpg'), None, fx=0.7, fy=0.7)# 平移 3种旋转,使用cv2.ROTATE_xxx进行选择lp1 = cv2.rotate(lp, cv2.ROTATE_90_CLOCKWISE)lp2 = cv2.rotate(lp, cv2.ROTATE_90_COUNTERCLOCKWISE)lp3 = cv2.rotate(lp, cv2.ROTATE_180)cv2.imshow('lp', lp)cv2.imshow('lp1', lp1)cv2.imshow('lp2', lp2)cv2.imshow('lp3', lp3)cv2.waitKey(0)cv2.destroyAllWindows()