使用opencvs怎么实现一个图像平移效果

今天就跟大家聊聊有关使用opencvs怎么实现一个图像平移效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

图像平移:

按照指定方向和距离,移动到相应位置

格式:cv.warpAffine(img,M,dsize)

参数

使用opencvs怎么实现一个图像平移效果

实现代码:

import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
# 中文显示配置
plt.rcParams['font.sans-serif']=['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False  # 用来正常显示负号

# 载入图片
img0 = cv.imread("img/img1.jpeg")

# 图像平移
rows, cols = img0.shape[:2]
# 简单理解:x方向移动100个单位,y方向移动50个单位
M = np.float32([[1,0,100],[0,1,50]])
# 输出图像大小
dst = cv.warpAffine(img0,M,(cols*3,rows*3))

# 图像显示
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(10,8),dpi=100)
axes[0].imshow(img0[:,:,::-1])
axes[0].set_title("原图")
axes[1].imshow(dst[:,:,::-1])
axes[1].set_title("平移后图片")
plt.show()

运行结果:

使用opencvs怎么实现一个图像平移效果

看完上述内容,你们对使用opencvs怎么实现一个图像平移效果有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。