【OpenCV 例程200篇】29. 图像的翻转(cv2.flip)

『youcans 的 OpenCV 例程200篇 - 总目录』


【youcans 的 OpenCV 例程200篇】29. 图像的翻转(cv2.flip)


欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中

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

以水平镜像为例,图像宽度为 fw,像素点 (x,y) 以垂直中轴线为中心进行左右对换,可以由以下公式描述:
[x~y~1]=MAF[xy1],MAF=[−10fw010001]\begin{bmatrix} \tilde{x}\\ \tilde{y}\\ 1 \end{bmatrix} = M_{AF} \begin{bmatrix} x\\ y\\ 1 \end{bmatrix} ,\hspace{1em} M_{AF} = \begin{bmatrix} -1 &0 &f_w\\ 0 &1 &0\\ 0 &0 &1 \end{bmatrix} x~y~1=MAFxy1,MAF=100010fw01

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

在这里插入图片描述


(本节完)


版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/125112487)
Copyright 2022 youcans, XUPT
Crated:2021-11-18

【第3章:图像的几何变换】

28. 图像的旋转(直角旋转)
29. 图像的翻转(cv2.flip)
30. 图像的缩放(cv2.resize)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566013.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【OpenCV 例程200篇】30. 图像的缩放(cv2.resize)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】30. 图像的缩放&#xff08;cv2.resize&#xff09; 缩放只是调整图像的大小。 OpenCV 提供了 cv2.resize 函数&#xff0c;实现图像的缩放和大小变换 。 函数说明&#xff1a; cv2.resize(src, d…

JAVA50道经典编程题

加强对基础知识的巩固提升&#xff0c;拓展逻辑思维。 JAVA50道经典编程题&#xff1a; 【程序1】 题目&#xff1a;古典问题&#xff1a;有一对兔子&#xff0c;从出生后第3个月起每个月都生一对兔子&#xff0c;小兔子长到第三个月后每个月又生一对兔子&#xff0c;假如兔子…

【OpenCV 例程200篇】31. 图像金字塔(cv2.pyrDown)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】31. 图像金字塔&#xff08;cv2.pyrDown&#xff09; 扩展例程&#xff1a;1.40 图像金字塔 图像金字塔是一种以多分辨率来解释图像的结构&#xff0c;常用于图像分割、图像压缩和机器视觉。 在需要…

JQuery警报灯

利用鼠标点击改变背景颜色制作一个警报器&#xff0c;供大家参考&#xff01; 请先看一下效果图&#xff1a;&#xff08;警报器是蓝色的和点击之后警报器是红色的&#xff09; 程序解说&#xff1a;首先要有一个警报器的样式和两个分别为打开警报器和关闭警报器的按钮&…

python里面的tuple与list对比

python里面的tuple与list对比 tuple 另一种有序列表叫元组&#xff1a;tuple。tuple和list非常类似&#xff0c;但是tuple一旦初始化就不能修改&#xff0c;比如同样是列出同学的名字&#xff1a; >>> classmates (Michael, Bob, Tracy)现在&#xff0c;classmates…

【OpenCV 例程200篇】32. 图像的扭变(错切)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】32. 图像的扭变&#xff08;错切&#xff09; 图像的错切变换也称斜切&#xff0c;是指平面景物在投影平面上的非垂直投影&#xff0c;使图像中的图形在水平方向或垂直方向产生扭变。 以水平扭变为例…

【OpenCV 例程200篇】33. 图像的复合变换

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】33. 图像的复合变换 图像的复合变换是指对给定的图像连续进行多次上述的平移、旋转、翻转、缩放、错切等基本变换&#xff0c;也称为级联变换。 对给定图像按一定顺序执行若干次基本变换&#xff0c…

表格生成器

能自动生成表格的小程序 当你在相应的输入框内输入表格的行高&#xff0c;列宽&#xff0c;多少行&#xff0c;多少列的数字后&#xff0c;点击创建表格就会自动生成你想要的表格。 未输入数据之前&#xff1a; 输入要生成表格数据之后点击创建表格&#xff1a;&#xff08;为…

开心农场

仿照qq农场实现了一个简易的开心农场&#xff0c;使我们在开心快乐中学习 在农场里我们可以进行基本的操作播种&#xff0c;生长&#xff0c;开花和结果。 先看一下效果图 生长 结果 一番欣赏之后是不是感觉很有趣很好玩~~~~ **程序解读&#xff1a;**准备好相关的图片和…

基于ssm企业人事管理系统设计与实现论文

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统企业人事信息管理难度大&#xff0c;容错率低&#xff0c…

【OpenCV 例程200篇】34. 图像的投影变换(cv2.getPerspectiveTransform)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】34. 图像的投影变换 投影变换&#xff08;Projective mapping&#xff09;也称透视变换&#xff08;Perspective transformation&#xff09;是建立两平面场之间的对应关系&#xff0c; 将图片投影到…

python里面的dict和set

python里面的dict和set dict Python内置了字典&#xff1a;dict的支持&#xff0c;dict全称dictionary&#xff0c;在其他语言中也称为map&#xff0c;使用键-值&#xff08;key-value&#xff09;存储&#xff0c;具有极快的查找速度。 举个例子&#xff0c;假设要根据同学的名…

Ajax实现登陆

用Ajax前后端分离实现一个简单的用户登录页面 先看一下页面效果图 账号和密码格式错误 格式正确但是用户名或密码错误&#xff08;清空密码框内容&#xff0c;选中账号框全部内容&#xff09; 程序详解&#xff1a; &#xff1a; 对输入的账号和密码用正则表达式验证格式 &…

【OpenCV 例程200篇】35. 图像的投影变换(边界填充)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】35. 图像的投影变换&#xff08;边界填充&#xff09; 投影变换&#xff08;Projective mapping&#xff09;也称透视变换&#xff08;Perspective transformation&#xff09;是建立两平面场之间的对…

点击修改表格背景色

使用Jquery事件实现点击修改表格的背景颜色 每列表格之前都有一个多选按钮&#xff0c;当你点击按钮时&#xff0c;这一行所有内容的背景色会发生改变&#xff0c;当你再次点击该多选按钮的时候&#xff0c;取消背景色。 未点击之前的样式 点击时候的样式 程序解读&#xff…

【OpenCV 例程200篇】36. 直角坐标与极坐标转换(cv2.polarToCart)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】36. 直角坐标与极坐标的转换 函数 cv2.cartToPolar 用于将直角坐标&#xff08;笛卡尔坐标&#xff09;转换为极坐标&#xff0c;函数 cv2.polarToCart 用于将极坐标转换为直角坐标&#xff08;笛卡尔…

【youcans 的图像处理学习课】6. 灰度变换与直方图处理

专栏地址&#xff1a;『youcans 的图像处理学习课』 文章目录&#xff1a;『youcans 的图像处理学习课 - 总目录』 【youcans 的图像处理学习课】6. 灰度变换与直方图处理 文章目录【youcans 的图像处理学习课】6. 灰度变换与直方图处理1. 图像增强技术2. 图像的灰度化处理和二…

数字时钟

一个美丽的数字时钟 利用所学的Jquery知识制作一个自己的专属时钟&#xff0c;下面先看一下效果图 效果图此图为静止 &#xff08;时分秒都是动态变化的&#xff09; 程序解读&#xff1a;使用定时器进行动态变化&#xff0c;时分秒的数字小于10的时候前面应该加上一个0&…

链接数据库增删改通用

实现对SQLServer和MySql数据库通用链接及数据的增删改 我们经常需要和数据库打交道&#xff0c;对数据库数据进行增改删查的操作&#xff0c;首先我们必须要先链接数据库&#xff0c;然后对数据内容进行相关增删改操作。 首先看一下目录结构 程序解读&#xff1a;一共有三个…

2021爱智先行者—(2)零基础APP开发实例

【本文正在参与"2021爱智先行者-征文大赛"活动】&#xff0c;活动链接&#xff1a;https://bbs.csdn.net/topics/602601454 欢迎关注 『Python小白的项目实战』 系列&#xff0c;持续更新 2021爱智先行者—&#xff08;1&#xff09;开箱点评 2021爱智先行者—&#…