使用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)
相关推荐
Java后端的Ai之路几秒前
21、Python - 命令模式
开发语言·人工智能·python·命令模式·外观模式
AI推荐率8 分钟前
企业归属关系:开发、运营、持有和销售主体需要按真实关系表达
人工智能
海兰8 分钟前
【应用】Firecrawl-Style Scrape Demo网页爬取效果演示及部署
人工智能·网页爬虫
code 小楊10 分钟前
Agent间如何高效协作?深度拆解A2A(Agent-to-Agent)协议
人工智能·架构·开源
天远Date Lab12 分钟前
计算机视觉管道构建:基于天远身份证OCR实现机器学习身份信息提取
人工智能·机器学习·计算机视觉·ocr
俊哥V13 分钟前
AI一周事件 · 2026-08-26 至 2026-09-01
人工智能·ai
Wang's Blog15 分钟前
Vibe Coding一人即团队系列50: 基于 Claude Code 的多项目测试计划生成与自动化测试实战
人工智能
小柯南敲键盘16 分钟前
跨马翻译批量图片视频字幕翻译,跨境电商AI智能抠图一站式工具
人工智能·python·音视频·xcode
DevOps老兵19 分钟前
AI Infra实战05:用Helm在K8s中部署vLLM,从安装到压测全流程
人工智能·kubernetes·helm·vllm·大模型推理·ai infra
张--小涛涛25 分钟前
0004 - 机器学习-K近邻算法
人工智能·机器学习·近邻算法