使用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)
相关推荐
达达尼昂1 分钟前
Flutter AI Harness 如何让 Agent 参与软件开发全流程
android·人工智能·后端
人工智能研究所5 分钟前
GitHub 10k+ Star:用自然语言描述系统,AI 帮你生成可交互架构图
人工智能·github·交互·自然语言·系统架构图·archify
王六米。5 分钟前
武汉自动意志科技有限公司:人工智能应用软件开发:OpenClaw 企业部署怎样配置权限、日志和回滚
人工智能·科技·企业ai落地·ai智能体开发·openclaw部署·武汉自动意志科技·智钳claw
yangmu32036 分钟前
脑机接口:当意识越过肉身的边界
人工智能·科技
Warren2Lynch8 分钟前
从文本到架构:Visual Paradigm AI Chatbot V2 深度评测与实战指南引言
人工智能·架构
断眉的派大星19 分钟前
ViT 与 VLM 中视觉 Token 的关系学习笔记
人工智能·transformer
cxr82821 分钟前
D2E 深度剖析 时序工具链
人工智能·架构
陆枫Larry22 分钟前
从 Agent = Model + Harness 说起:重新看看 Cursor、Claude Code 和 Codex区别
人工智能
问天_观心22 分钟前
虚拟环境WSL之Ubuntu的安装
人工智能·ubuntu
狂奔蜗牛(bradley)34 分钟前
搭建RKNN Toolkit2开发环境
人工智能