基于OpenCV的图像平移

基本概念

图像的平移操作是将图像的所有像素坐标进行水平或者垂直方向的移动,也就是所有像素点按照给定的偏移量在水平方向上沿X轴,垂直方向上沿y轴移动。

设原始图像像素点为(x0,y0),平移后的图像的像素点为(x,y),x方向平移的距离为∆x, y方向平移的距离为∆y,则有:

平移之前构造一个移动矩阵,即指出图像在X轴方向上移动的距离,在y轴上移动的距离,平移变换的如图所示:

OpenCV中实现图像平移的方法

函数:cv2.warpAffine()

格式:dst=cv2.warpAffine(src,M,dsize[,dst[,flags[,borderMode[,borderValue]]]])

参数说明:

src:输入图像

M:移动矩阵(2*3),对于(x,y)处的像素点,要移动到(x+∆x, y+∆y)时,M矩阵设置为:

dsize:输出图像的大小。

borderMode:边界像素模式(int 类型)

borderValue:边界填充值; 默认情况下,它为0

flages:表示插值方式,默认为 flags=cv2.INTER_LINEAR,表示线性插值,cv2.INTER_NEAREST为最近邻插值,cv2.INTER_AREA为区域插值,cv2.INTER_CUBIC为三次样条插值,cv2.INTER_LANCAOS4为Lanczos插值

应用案例

利用OpenCV实现图像平移

相关推荐
钅日 勿 XiName9 分钟前
一小时速通Pytorch之神经网络相关知识(三)
人工智能·pytorch·神经网络
你也渴望鸡哥的力量么1 小时前
GeoSeg 框架解析
人工智能
唐华班竹1 小时前
PoA 如何把 CodexField 从“创作平台”推向“内容经济网络”
人工智能·web3
渡我白衣2 小时前
深入理解 OverlayFS:用分层的方式重新组织 Linux 文件系统
android·java·linux·运维·服务器·开发语言·人工智能
IT_陈寒2 小时前
Vue 3.4 正式发布:5个不可错过的性能优化与Composition API新特性
前端·人工智能·后端
极客BIM工作室2 小时前
解密VQVAE中的Codebook
人工智能
DogDaoDao2 小时前
大语言模型四大核心技术架构深度解析
人工智能·语言模型·架构·大模型·transformer·循环神经网络·对抗网络
shayudiandian2 小时前
Transformer结构完全解读:从Attention到LLM
人工智能·深度学习·transformer
天天爱吃肉82182 小时前
新能源汽车动力系统在环(HIL)半实物仿真测试台架深度解析
人工智能·python·嵌入式硬件·汽车