4.opencv图像平移变换


在本教程中,您将学习如何使用OpenCV转换和移动图像。

平移是图像沿x轴和y轴的移动。要使用OpenCV翻译图像,我们必须:

从磁盘加载图像
定义仿射变换矩阵
应用 cv2.warpAffine 执行翻译的功能

OpenCV图像变换

在本教程的第一部分中,我们将讨论什么是转换矩阵以及如何使用OpenCV和NumPy定义它。

从那里,我们将配置我们的开发环境并查看我们的项目目录结构。

审查完项目目录结构后,我们将继续实施Python脚本以使用OpenCV进行翻译, opencv_translate.py。

我们将详细审查此脚本以及该脚本生成的结果。

在本指南的最后,您将了解如何使用OpenCV执行图像翻译。

使用OpenCV定义变换矩阵

要使用OpenCV执行图像翻译,我们首先需要定义一个2 x 3的矩阵,称为仿射变换矩阵:

图1:要使用OpenCV转换图像,首先必须构造一个仿射变换矩阵

为了变换的目的,我们关心的是t x和t y值:

该t_ {x}值的负值会将图像向左移动
正值用于 t_ {x}将图像向右移动
负值 t_ {y}可使图像向上移动
的正值 t_ {y}将使图像向下移动
例如,假设我们想将图像向右移动25个位数,向下移动50个变量。我们的转换矩阵如下所示(实现为NumPy序列):在这里插入图片描述
现在,如果我们想将图像向左移动7个像素,向上移动23个像素,我们的转换矩阵将如下所示:

在这里插入图片描述
如您所见,为图像翻译定义仿射变换矩阵非常容易!

定义了转换矩阵后,我们可以简单地使用 cv2.warpAffine 功能,像这样:

shifted = cv2.warpAffine(image, M, (image.shape[1], image.shape[0]))

代码结构以及下载

在这里插入图片描述
我们只有一个Python脚本, opencv_translate.py,我们将对其进行详细审查。

该脚本将加载 opencv_logo.png 磁盘上的映像,然后使用OpenCV库对其进行转换/移动。

链接: 下载.

运行示例:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

·菜鸟看世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值