首页 生活百科 文章推荐 美食推荐 汽车百科 星座运势 旅游攻略 数码科技 教育资讯 宠物知识 养花知识 健康知识 周公解梦 热门影视 消费指南
当前位置: 首页 > 生活百科 >

如何镜像翻转图片 OpenCV学习之路-29. 图像的翻转

21次浏览     发布时间:2023-05-05 21:35:20    

翻转也称镜像,是指将图像沿轴线进行轴对称变换。水平镜像是将图像沿垂直中轴线进行左右翻转,垂直镜像是将图像沿水平中轴线进行上下翻转,水平垂直镜像是水平镜像和垂直镜像的叠加。

以水平镜像为例,图像宽度为 fw,像素点 (x,y) 以垂直中轴线为中心进行左右对换,可以由以下公式描述:

由上式构造镜像变换矩阵 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()

相关文章
陈默林野全文小说最新章节阅读陈默林野
2025-09-10 23:57:09
《她的龙袍染过我的血》完结版免费阅读 《她的龙袍染过我的血》最新章节目录
2025-09-10 23:42:07
《陈俊傅云深周翠兰》分手后,前男友全家破产了大结局精彩阅读
2025-09-10 23:18:12
全能者重生周烨苏明月小说阅读 全能者重生文本在线阅读
2025-09-10 22:54:08
(全集-免费)叶蓁和裴纵是全校公认的天生一对完本小说_叶蓁裴纵全文免费阅读
2025-09-10 22:47:08
《战魂玉,忠勇千秋》大结局在线试读 《战魂玉,忠勇千秋》最新章节目录
2025-09-10 22:18:08