使用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)
相关推荐
Allen正心正念20255 分钟前
Agent框架—LangGraph智能体框架设计要点和踩坑预防指南
人工智能
高升说9 分钟前
无人机机载视觉避障硬件链路拆解:从成像到制动的五层设计
人工智能
I Am a robert girl14 分钟前
Plaud 发布首款 AI 耳机,但重点不是耳机
人工智能·智能硬件·硬件·数据处理·信息处理·ai 耳机
jimmyleeee17 分钟前
大模型安全之十九:从黑箱到透明:Observability 与 AI Evaluation Tool 完全指南
人工智能·安全
wshzd20 分钟前
LLM之Agent(七十四)|PI(十三)会话 Session 与持久化
人工智能
沉下心来学鲁班22 分钟前
初识DeepAgents搭建第一个智能体
人工智能·python·langchain
夏日的盒盒22 分钟前
Cell期刊下与膝关节相关的研究
人工智能·医学·cell·膝关节
知几蜗牛24 分钟前
Copilot开始统计“真正用过什么”:AI落地终于不只看活跃人数
人工智能
知几蜗牛26 分钟前
多Agent最怕的不是答错,而是崩溃后不知道做到哪一步
人工智能
知几蜗牛29 分钟前
4 bit模型为何不等于显存缩小四倍?量化账单这样算
人工智能