使用OpenCV实现图像平移

使用OpenCV实现图像平移

程序流程

  1. 读取图像并获取其高度、宽度和通道数。
  2. 定义平移量tx和ty,并创建平移矩阵M。
  3. 使用cv2.warpAffine函数对图像进行仿射变换(平移),得到平移后的图像。
  4. 显示平移后的图像。
  5. 等待用户按键并关闭显示窗口。
  6. 保存平移后的图像到文件。

效果

原图:

平移后的图:

代码

python 复制代码
import cv2
import numpy as np

# 读取图像
img = cv2.imread('liu_1.jpeg')

# 获取图像的高度和宽度
rows, cols, ch = img.shape

# 定义平移矩阵,tx和ty是x和y方向的平移量
# 这里我们假设tx=100, ty=50
tx = 100
ty = 50

# 创建平移矩阵 M,这里我们使用了numpy的float32类型
# 注意OpenCV的warpAffine函数需要这个数据类型
M = np.float32([[1, 0, tx], [0, 1, ty]])

# 进行仿射变换,使用线性插值(INTER_LINEAR)
# 注意这里dsize参数指定了输出图像的大小,这里我们简单地使用原图像的大小
# 如果你想让图像在平移后填充一些空白区域,你需要调整这个参数
translated = cv2.warpAffine(img, M, (cols, rows))

# 显示平移后的图像
cv2.imshow('Translated Image', translated)

# 等待按键并关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

# 如果你还想保存平移后的图像
cv2.imwrite('translated.jpg', translated)
相关推荐
成都它思科技有限公司几秒前
语音识别错误率是多少,我们认为错误率是多少?
人工智能·语音识别
Cx330❀几秒前
Linux ELF格式与可执行程序加载全解析:从磁盘文件到运行进程
linux·运维·服务器·人工智能·科技
杜子不疼.1 分钟前
2026年AI Agent实战:从玩具到生产力的落地手册(附源码)
人工智能
科技快报2 分钟前
华为发布AI数据平台,重塑数据基座,加速企业AI应用落地
大数据·人工智能·华为
智塑未来2 分钟前
哪些GEO服务商有自研AI监测工具?2026年AI品牌监测平台深度对比
人工智能
不懒不懒3 分钟前
【零基础入门 PyTorch:实现食物图片分类任务】
人工智能·pytorch·python
PengShuaiD53 分钟前
【AI编码】用ChatGPT基于Whisper+ffmpeg实现一个根据视频字幕执行自动化裁剪本地小工具
人工智能·chatgpt·ffmpeg·whisper
特立独行的猫a3 分钟前
从 AI 助手到现实世界操作系统:OpenClaw + Matter 的智能硬件控制架构设计
人工智能·架构·智能硬件·matter协议·openclaw
广州赛远4 分钟前
Nachi_EZ03_喷砂机器人防护服使用指南_详解与避坑
人工智能
WWZZ20255 分钟前
具身智能入门Isaac Sim——机器人设置-初级设计轮式机器人2
人工智能·机器人·大模型·强化学习·具身智能·四足·人形