python-opencv-图像的平移

图像平移的基本概念 

图像平移指的是将图像按水平方向或竖直方向上进行移动,其本质就是将图像中的所有像素点都按照给定的平移量进行水平方向或竖直方向上的移动。

例如,我们将图像在水平方向上平移w,在竖直方向上平移h,那么图像中初始坐标为(x.y)的像素点在经过平移后对应的坐标就变成了(x+w,y+h)。

复制代码
import numpy as np
import cv2

img = cv2.imread("3.jpg")
cv2.imshow("yuan", img)
img_info=img.shape
height=img_info[0]
width=img_info[1]

mat_translation=np.float32([[1,0,20],[0,1,50]])  #变换矩阵:设置平移变换所需的计算矩阵:2行3列
#[[1,0,20],[0,1,50]]   表示平移变换:其中20表示水平方向上的平移距离,50表示竖直方向上的平移距离。
dst=cv2.warpAffine(img,mat_translation,(width+20,height+50))  #变换函数
'''
参数2 变换矩阵:是一个2行3列的矩阵,由这个矩阵决定是何种变换
参数3 变换后输出图像的大小:(width+20,height+50)-->宽和高(自己规定)
参数4 可选参数,用于设置插值方法的组合,默认为INTER_LINEAR使用线性插值算法,除了图像缩放中用到的几个插值算法外,仿射变换还可以选用
INTER_LANCZOS4(Lanczos插值算法)。
参数5 borderValue:可选参数,在边界不变的情况下可以使用的值,主要用于设置边界的填充值,默认为0
'''
cv2.imshow('dst',dst)


cv2.waitKey(0)
复制代码

效果图

 

 

 

 

 

posted @   天子骄龙  阅读(6153)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2019-01-19 局部变量 全局变量
2019-01-19 目录
2019-01-19 python-格式化输出
2019-01-19 转义字符
点击右上角即可分享
微信分享提示