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")
相关推荐
m0_74329742几秒前
实战:用Python分析某电商销售数据
jvm·数据库·python
重庆兔巴哥2 分钟前
如果Java环境变量配置不成功,应该怎么办?
java·开发语言
良木生香7 分钟前
【C++初阶】:C++入门相关知识(3):引用 & inline内联函数 & nullptr相关概念
开发语言·c++
databook13 分钟前
从直觉到算法:贝叶斯思维的技术底层与工程实现
人工智能·python·机器学习
泯仲14 分钟前
从零起步学习MySQL 第十六章:MySQL 分库分表的考量策略
开发语言·mysql
m0_7166670715 分钟前
使用PyQt5创建现代化的桌面应用程序
jvm·数据库·python
超级大福宝18 分钟前
用买火车票的例子讲解Java反射的作用
java·开发语言·后端
小则又沐风a20 分钟前
第一章:C++入门基础--- c++入门门槛高? 逐步剖析c++语法 成为c++大师
开发语言·c++
XW010599921 分钟前
6-1输入列表,求列表元素和(eval输入应用)
python
川石课堂软件测试24 分钟前
接口测试需要注意的一些BUG
网络·数据库·python·单元测试·bug·压力测试·tornado