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")
相关推荐
南境十里·墨染春水3 小时前
C++ 工厂模式:从入门到进阶,彻底掌握对象创建的艺术
开发语言·c++·算法
某人辛木3 小时前
Web自动化测试
前端·python·pycharm·pytest
C+++Python4 小时前
详细介绍一下Java泛型的通配符
java·windows·python
JosieBook5 小时前
【数据库】时序预测能力的分级进化:TimechoAI如何让每一类用户都能精准预见未来
java·开发语言·数据库
加号35 小时前
【C#】 文件与目录管理:创建、删除操作的技术解析
开发语言·c#
小帅热爱难回头5 小时前
编写Skill生成AI落地项目系统架构
python
diving deep5 小时前
脚本速览-python
开发语言·python
一生了无挂5 小时前
Java处理JSON技巧教学(从基础到高阶实战全覆盖)
java·开发语言·json
swordbob6 小时前
Spring 单例 Bean 是线程安全的吗?
java·开发语言
2601_951643777 小时前
Python第一,Java跌出前三,C语言杀回来了
java·c语言·python·编程语言排行·技术趋势