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

【youcans 的 OpenCV 例程200篇】25. 图像的平移

平移是物体位置在水平和垂直方向的移动。

像素点 (x,y) 沿 x 轴平移 dx、沿 y 轴平移 dy,可以由以下公式描述:
[x~y~1]=MAT[xy1],MAT=[10dx01dy001]\begin{bmatrix} \tilde{x}\\ \tilde{y}\\ 1 \end{bmatrix} = M_{AT} \begin{bmatrix} x\\ y\\ 1 \end{bmatrix} ,\hspace{1em} M_{AT} = \begin{bmatrix} 1 &0 &d_x\\ 0 &1 &d_y\\ 0 &0 &1 \end{bmatrix} ⎣⎡​x~y~​1​⎦⎤​=MAT​⎣⎡​xy1​⎦⎤​,MAT​=⎣⎡​100​010​dx​dy​1​⎦⎤​

由偏移量 (Tx, Ty) 按上式构造平移变换矩阵 MAT,由函数 cv2.warpAffine 可以计算变换后的平移图像。

函数说明:

cv2.warpAffine(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) → dst

函数 cv2.warpAffine() 通过变换矩阵 M 对图像 src 进行仿射变换。

参数说明:

  • scr:变换操作的输入图像
  • M:仿射变换矩阵,2行3列
  • dsize: 输出图像的大小,二元元组 (width, height)
  • dst:变换操作的输出图像,可选项
  • flags:插值方法,整型(int),可选项
    • cv2.INTER_LINEAR:线性插值,默认选项
    • cv2.INTER_NEAREST:最近邻插值
    • cv2.INTER_AREA:区域插值
    • cv2.INTER_CUBIC:三次样条插值
    • cv2.INTER_LANCZOS4:Lanczos 插值
  • borderMode:边界像素方法,整型(int),可选项,默认值为 cv2.BORDER_REFLECT
  • borderValue:边界填充值,可选项,默认值为 0(黑色填充)
  • 返回值:dst,变换操作的输出图像,ndarray 多维数组

注意事项:

  1. 变换前后的图像 src、dst 都是 ndarray 二维数组。
  2. 变换矩阵 M 反映平移或旋转的关系,是 np.float32 类型 ndarray 二维数组(2行*3列)。
  3. 平移变换矩阵 M = [(1,0,dx), (0,1,dy)],Tx 表示向右(负值向左)移动像素点数,Ty 表示向下(负值向上)移动像素点数。
  4. 输出图像的大小 dsize 的格式为元组 (width,height)。

基本例程:1.34 图像的平移

    # 1.34 图像平移 (Translation transform)img = cv2.imread("../images/imgLena.tif")  # 读取彩色图像(BGR)rows, cols, ch = img.shapedx, dy = 100, 50  # dx=100 向右偏移量, dy=50 向下偏移量MAT = np.float32([[1, 0, dx], [0, 1, dy]])  # 构造平移变换矩阵   # dst = cv2.warpAffine(img, MAT, (cols, rows))  # 默认为黑色填充dst = cv2.warpAffine(img, MAT, (cols, rows), borderValue=(255,255,255))  # 设置白色填充plt.figure(figsize=(9,6))plt.subplot(121), plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)), plt.title("Original")plt.subplot(122), plt.imshow(cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)), plt.title("Translational")plt.show()

(本节完)


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

【第3章:图像的几何变换】
24. 图像的仿射变换
25. 图像的平移
26. 图像的旋转(以原点为中心)

【OpenCV 例程200篇】25. 图像的平移(cv2.warpAffine)相关推荐

  1. 【OpenCV 例程200篇】25. 图像的平移

    [OpenCV 例程200篇]25. 图像的平移 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 平移是物体位置在水平 ...

  2. 【youcans 的 OpenCV 例程 200 篇】112. 滤波反投影重建图像

    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 [youcans 的 OpenCV 例程 2 ...

  3. 【youcans 的 OpenCV 例程 200 篇】111. 雷登变换反投影重建图像

    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 [youcans 的 OpenCV 例程 2 ...

  4. 【youcans 的 OpenCV 例程 200 篇】107. 退化图像的维纳滤波

    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 [youcans 的 OpenCV 例程 2 ...

  5. 【OpenCV 例程200篇】80. 频率域图像滤波详细步骤

    [OpenCV 例程200篇]80. 频率域图像滤波详细步骤 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 3. 频 ...

  6. 【OpenCV 例程200篇】79. 频率域图像滤波的基本步骤

    [OpenCV 例程200篇]79. 频率域图像滤波的基本步骤 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 3. ...

  7. 【OpenCV 例程200篇】78. 频率域图像滤波基础

    [OpenCV 例程200篇]78. 频率域图像滤波基础 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 3. 频率域 ...

  8. 【OpenCV 例程200篇】76. OpenCV 实现图像傅里叶变换

    [OpenCV 例程200篇]76. OpenCV 实现图像傅里叶变换 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...

  9. 【OpenCV 例程200篇】75. Numpy 实现图像傅里叶变换

    [OpenCV 例程200篇]75. Numpy 实现图像傅里叶变换 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...

最新文章

  1. MAPREDUCE实践篇(2)
  2. linux mint 17.3 内核,LinuxMint 17.3 Cinnamon抢鲜评测
  3. 第十二届蓝桥杯大赛软件赛省赛第二场 C/C++ 大学B组
  4. ORA-00054 资源正忙,但指定以NOWAIT 方式获取资源,或者超时失效
  5. ArcGIS 10.6连接Access 2007(.accdb)及以上版本数据库
  6. c语言,递归翻转一个单链表,c实现单链表
  7. Docker实践(三)容器
  8. C# 获取CPU序列号、MAC地址、硬盘ID等系统信息
  9. RequireJS入门(三)转
  10. 计算机二级考试c语言 上机,计算机等级考试二级C语言上机题[2]
  11. 监控一个大事务的回滚
  12. 银行保险机构信息科技外包风险管理办法学习笔记
  13. vnc远程软件,盘点六款你值得拥有的vnc远程软件
  14. Android UI 基础知识
  15. wifi大师分销多开v3.1.5安装教程附带源码
  16. spark streamming + kafka + Redis 实践
  17. 曙光服务器显示器接入只显示logo,显示屏只显示显示屏品牌logo,没有其他反应
  18. A40i nfs挂载问题
  19. 计算机专业排名2014,2014计算机考研院校排名
  20. pcf8563c语言程序,PCF8563T标准驱动源程序

热门文章

  1. 落花有意随流水,流水无意落花逐
  2. Android平台Airplay的实现方法
  3. xmanager连接linux桌面教程 xmanager连接之后黑屏
  4. shell 脚本 99例
  5. AD日常维护之一:处理.Net runtime Optimization报错
  6. elm FatFs文件系统移植总结
  7. Linux VPS服务器根据CPU负载及内存占用自动重启的bash shell脚本
  8. 低内存服务器LAMP的内存优化
  9. An Optimistic Perspective on Offline Reinforcement Learning(ICML2020)
  10. linux如何彻底删除mysql_CentOS下如何完全干净卸载MySQL