本文转载自斗大的熊猫,仅供学习使用

缩放变换

缩放就是改变图像的大小,使用cv2.resize()函数。图像的大小可以手动指定,也可以使用缩放比例。cv2.resize()支持多种插值算法,默认使用的是cv2.INTER_LINEAR(不管放大和缩小)。缩小最适合使用:cv2.INTER_AREA,放大最适合使用:cv2.INTER_CUBIC (慢) 或 cv2.INTER_LINEAR。

平移变换

如下代码平移(100,50):

cv2.warpAffine()的第三个参数是输出图像的大小。第二个参数是变换矩阵,对于平移变换,变换矩阵M如下:

其中, tx t x t_x为x的偏移量, ty t y t_y是y轴的偏移量,单位为像素。

旋转变换

在opencv中提供了cv2.getRotationMatrix2D函数获得变换矩阵。第一参数指定旋转圆点;第二个参数指定旋转角度;第二个参数指定缩放比例。看如下例子:

仿射变换

仿射变换是一种二维坐标到二维坐标之间的线性变换,并保持二维图形的“平直性”。转换前平行的线,在转换后依然平行。如下图:

透视变换

透视变换需要3×3的变换矩阵,直线在变换后还是保持直线。为了构造变换矩阵,你需要输入图像的4个点和对应的要输出图像的4个点;要求这4个点其中3个点不共线。使用cv2.getPerspectiveTransform函数构造透视变换矩阵。代码:

OpenCV-Python:图像的几何变换(平移、旋转、仿射变换等)相关推荐

  1. pythonopencv读取图像属性_2、OpenCV Python 图像属性获取

    __author__ = "WSX" import cv2 as cv import numpy as np image = cv.imread("1.JPG" ...

  2. opencv python 图像缩放/图像平移/图像旋转/仿射变换/透视变换

    Geometric Transformations of Images 1图像转换 OpenCV提供了两个转换函数cv2.warpAffine和cv2.warpPerspective,可以使用它们进行 ...

  3. 详解Python+OpenCV对图像进行几何变换操作

    文章目录 Opencv介绍 图像处理基础 数字图像概念 数字图像的应用 图像处理.机器视觉.人工智能关系 图像属性 图像处理方法 显示图像 图像缩放 图像平移 图像旋转 仿射变换 透射变换 总结 Op ...

  4. opencv之图像翻转、平移、缩放、旋转、仿射学习笔记

    opencv版本:opencv3.4.1 目录 1. 图像翻转(坐标映射) 2.  平移 3. 缩放 4. 旋转 1. 图像翻转(坐标映射) int main() {cv::Mat srcImage ...

  5. 三维空间中的几何变换-平移旋转缩放

    前言 前段时间由于项目需要,深入学习了下图形几何变换,主要是绕任意轴旋转部分(其他的已有一定基础),现记录学习笔记. 文章内容部分引用并参考了下面的博客: http://netclass.csu.ed ...

  6. 基于OpenCV做图像数据增强(平移、镜像、缩放、旋转、仿射)

    前言: 基于OpenCV的基本使用,对图像的数据量进行数据增强,使得框架对神经网络进行训练,提高模型的鲁棒性以及准确性. 原图: 1.平移 平移通过自定义平移矩阵以及函数warpAffine实现: 代 ...

  7. 图像的几何变换—平移、旋转、镜像、缩放、剪切(原理+调用函数+像素操作)

    目录 一.平移 1.调用函数(平移矩阵) 2.像素操作(遍历赋值) 二.旋转 1.调用函数(旋转矩阵) 2.像素操作(反向映射) 三.镜像 1.调用函数(镜像矩阵) 2.像素操作(反向映射) 四.缩放 ...

  8. OpenCV—python 图像相似度算法(dHash,方差)

    文章目录 一.SIFT综述 二.哈希算法(perceptual hash algorithm) 2.1 相似图片检测步骤: 2.2 代码实现 三.使用方差检测图像相似度 3.1 实现步骤 3.2 代码 ...

  9. opencv python 图像形态学操作/图像腐蚀/图像膨胀/开运算/闭运算/顶帽/黑帽

    Morphological Transformations 1图像腐蚀 腐蚀的基本思想:侵蚀前景物体的边界(总是试图保持前景为白色):内核在图像中滑动(如在2D卷积中).只有当内核下的所有像素都是1时 ...

  10. opencv(python)------图像无缝克隆、对比度脱色、修复、HDR成像、非真实感渲染(三)

    1. 基于opencv的无缝克隆 #python output = cv2.seamlessClone(src, dst, mask, center, flags) #c++ seamlessClon ...

最新文章

  1. java1.8新增超实用Map方法——Map.getOrDefault()和Map.value()方法详解
  2. Go基础编程:延迟调用defer
  3. linux的每次IO大小控制,linux文件io缓冲
  4. ORACLE的基础用法
  5. 3D场景中选取场景中的物体。
  6. 从还珠格格到街头霸王!80后的怀旧神器 三星GalaxyFold另类体验
  7. 通过SublimeCodeIntel设置JavaScript自动补全
  8. 渗透中Meterpreter基本操作和对应的windows上的排查或者现象
  9. 「CJOJ2723」Reserve
  10. iis 在站点中新建虚拟目录站点之后,虚拟目录中的 web.config 与 主站点中的 web.config冲突解决方案...
  11. sai笔记1-sai安装
  12. 12款绝赞的Windows软件,让你的电脑再好用10倍
  13. 爬虫实战之爬取电影天堂全部电影信息
  14. selenium中的三种等待方法
  15. 恢复Outlook 2010/2007已被删除邮件的方法
  16. 苹果macbook air安装win7系统详细图解
  17. Spark与Iceberg整合查询操作-查询快照,表历史,data files Manifests 查询快照,时间戳数据...
  18. java程序员的学习规划,附源代码
  19. vue-cli3 接口api代理 308 Permanent Redirect
  20. 公交系统java程序设计,基于JAVA的JSP城市公交查询系统,源码分享

热门文章

  1. Teardrop原始套接字编程
  2. Linux 压缩软件的使用
  3. 集合——数组容器笔记
  4. Hbase深入学习(五) 命令及查看状态
  5. Java学习:从入门到精通week4
  6. write、read
  7. unity 删除父物体下所有子物体
  8. mapbox-gl中的web墨卡托转换
  9. ios中html怎么横屏,苹果xsmax页面怎么横屏
  10. 碧蓝航线最新服务器2018,2018最新碧蓝航线建造时间表 舰娘建造时间表一览