opencv: cv2.flip 图像翻转 进行 数据增强

来源:互联网 发布:达内培训 it外企it 编辑:程序博客网 时间:2024/05/29 03:51

Syntax

flip(src, flipCode[, dst])

args

flipCode Anno 1 水平翻转 0 垂直翻转 -1 水平垂直翻转

Demo

Original Image 原图像:
这里写图片描述

Flipped Horizontally 水平翻转:

Flipped Vertically 垂直翻转:

Flipped Horizontally & Vertically 水平垂直翻转:
这里写图片描述

Code

# encoding:utf-8import cv2image = cv2.imread("girl.jpg")# Flipped Horizontally 水平翻转h_flip = cv2.flip(image, 1)cv2.imwrite("girl-h.jpg", h_flip)# Flipped Vertically 垂直翻转v_flip = cv2.flip(image, 0)cv2.imwrite("girl-v.jpg", v_flip)# Flipped Horizontally & Vertically 水平垂直翻转hv_flip = cv2.flip(image, -1)cv2.imwrite("girl-hv.jpg", hv_flip)

Appendix

也可打开 help 功能 具体查看 接口设置:

$ pythonPython 3.6.3 |Anaconda, Inc.| (default, Oct 13 2017, 12:02:49) [GCC 7.2.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import cv2>>> help(cv2.flip)Help on built-in function flip:flip(...)    flip(src, flipCode[, dst]) -> dst    .   @brief Flips a 2D array around vertical, horizontal, or both axes.    .       .   The function cv::flip flips the array in one of three different ways (row    .   and column indices are 0-based):    .   \f[\texttt{dst} _{ij} =    .   \left\{    .   \begin{array}{l l}    .   \texttt{src} _{\texttt{src.rows}-i-1,j} & if\;  \texttt{flipCode} = 0 \\    .   \texttt{src} _{i, \texttt{src.cols} -j-1} & if\;  \texttt{flipCode} > 0 \\    .   \texttt{src} _{ \texttt{src.rows} -i-1, \texttt{src.cols} -j-1} & if\; \texttt{flipCode} < 0 \\    .   \end{array}    .   \right.\f]    .   The example scenarios of using the function are the following:    .   *   Vertical flipping of the image (flipCode == 0) to switch between    .   top-left and bottom-left image origin. This is a typical operation    .   in video processing on Microsoft Windows\* OS.: