opencv3+python3完成图片镜像实现

2025-10-26 21:01:05

1、镜像操作有三种:假设原图在第一象限

1) 绕y轴 实现于第二象限

2) 绕y再x 实现于第三象限

3)绕X实现于第四象限

opencv3+python3完成图片镜像实现

2、opencv函数flip实现上述功能:

flip(src, flipCode)

src – 源图像

flipCode – 镜像模式:

flipCode==0垂直镜像(沿X轴);

flipCode>0水平镜像(沿Y轴);

flipCode<0水平垂直镜像(先沿X轴,再沿Y轴,等价于旋转180°)

opencv3+python3完成图片镜像实现

3、水平镜像代码如下:

#镜像import cv2   as  cvimport numpy as npfrom matplotlib import pyplot as pltfrom matplotlib.font_manager import FontPropertiesplt.rcParams['font.family'] = ['sans-serif']plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False #用来正常显示负号font = FontProperties(fname='/System/Library/Fonts/STHeiti Light.ttc', size=16)img = cv.imread('c:\\meiping1.png',1)rows,cols, channel = img.shape# 水平镜像plt.subplot(1,2,1),plt.imshow(img)plt.subplot(1,2,2),plt.imshow(cv.flip(img, 2))# cv.imshow('dest', dest)plt.title("水平镜像")plt.xticks([]),plt.yticks([])plt.show()

opencv3+python3完成图片镜像实现

opencv3+python3完成图片镜像实现

4、垂直镜像代码如下:

plt.subplot(1,2,1),plt.imshow(img)plt.subplot(1,2,2),plt.imshow(cv.flip(img, 0))# cv.imshow('dest', dest)plt.title("垂直镜像")plt.xticks([]),plt.yticks([])plt.show()

opencv3+python3完成图片镜像实现

opencv3+python3完成图片镜像实现

5、对称四象限代码:

#对称四图!plt.subplot(2,2,1),plt.imshow(img)plt.subplot(2,2,2),plt.imshow(cv.flip(img, 1))plt.subplot(2,2,3),plt.imshow(cv.flip(img, 0))plt.subplot(2,2,4),plt.imshow(cv.flip(img, -3))# plt.xticks([]),plt.yticks([])plt.show()

opencv3+python3完成图片镜像实现

opencv3+python3完成图片镜像实现

6、完整代码:

#镜像

import cv2   as  cv

import numpy as np

from matplotlib import pyplot as plt

from matplotlib.font_manager import FontProperties

plt.rcParams['font.family'] = ['sans-serif']

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签

plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

font = FontProperties(fname='/System/Library/Fonts/STHeiti Light.ttc', size=16)

img = cv.imread('c:\\meiping1.png',1)

rows,cols, channel = img.shape

# 水平镜像

plt.subplot(1,2,1),plt.imshow(img)

plt.subplot(1,2,2),plt.imshow(cv.flip(img, 2))

# cv.imshow('dest', dest)

plt.title("水平镜像")

plt.xticks([]),plt.yticks([])

plt.show()

plt.subplot(1,2,1),plt.imshow(img)

plt.subplot(1,2,2),plt.imshow(cv.flip(img, 0))

# cv.imshow('dest', dest)

plt.title("垂直镜像")

plt.xticks([]),plt.yticks([])

plt.show()

#对称四图!

plt.subplot(2,2,1),plt.imshow(img)

plt.subplot(2,2,2),plt.imshow(cv.flip(img, 1))

plt.subplot(2,2,3),plt.imshow(cv.flip(img, 0))

plt.subplot(2,2,4),plt.imshow(cv.flip(img, -3))

# plt.xticks([]),plt.yticks([])

plt.show()

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢