Python Opencv实践 - 图像放射变换

复制代码
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt


img = cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR)
rows,cols = img.shape[:2]
print(img.shape[:2])


#使用getAffineTransform来获得仿射变换的矩阵M
#cv.getAffineTransform(pts 1,pts 2)
#pts 1: 原图中的3个点坐标
#pts 2:经过放射变换后的3个点坐标
#参考资料:https://blog.csdn.net/weixin_45335726/article/details/122531876
pts1 = np.float32([[50,50],[200,50],[50,200]])
pts2 = np.float32([[100,100],[200,50],[100,250]])
M = cv.getAffineTransform(pts1,pts2)
img_affine_transform = cv.warpAffine(img, M, (cols,rows))


#显示图像
fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(10,8),dpi=100)
axes[0].imshow(img[:,:,::-1])
axes[0].set_title("Original")
axes[1].imshow(img_affine_transform[:,:,::-1])
axes[1].set_title("Affine Transformed")
相关推荐
SmallBambooCode15 小时前
【人工智能】【Python】离线环境下huggingface预训练权重导入流程
开发语言·人工智能·python
神明93115 小时前
React 中父组件向子组件传递函数的正确调用方式
jvm·数据库·python
wang3zc15 小时前
TensorFlow如何进行张量维度重塑_使用tf.reshape或tf.expand_dims
jvm·数据库·python
2501_9012005315 小时前
mysql如何检查数据库表是否存在损坏_使用CHECK TABLE命令修复
jvm·数据库·python
2301_7662834416 小时前
如何设置密码复杂度策略以约束MongoDB用户的密码强度
jvm·数据库·python
duke86926721416 小时前
Golang怎么安全关闭channel_Golang channel关闭教程【通俗】
jvm·数据库·python
2301_7662834416 小时前
uni-app iOS后台运行 uni-app App如何实现后台定位或音乐播放
jvm·数据库·python
m0_5967490916 小时前
如何清除SQL表中的缓存垃圾_通过TRUNCATE重置表状态
jvm·数据库·python
m0_5913647316 小时前
如何从Oracle Java调用外部API_HTTP请求在数据库Java Source中的实现
jvm·数据库·python