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")
相关推荐
蜜獾云6 小时前
JAVA面试题速记-第1期-java基础
java·开发语言
Dr.Kun6 小时前
【鲲码园PsychoPy】延迟折扣任务(DDT)
python·psychopy·心理学编程
百锦再6 小时前
Java中的反射机制详解:从原理到实践的全面剖析
java·开发语言·jvm·spring boot·struts·spring cloud·kafka
coding者在努力6 小时前
LangChain简介,最直白的介绍
人工智能·python·语言模型·langchain
没有bug.的程序员6 小时前
Gradle 构建优化深度探秘:从 Java 核心到底层 Android 物理性能压榨实战指南
android·java·开发语言·分布式·缓存·gradle
癫狂的兔子7 小时前
【Python】【机器学习】支持向量积
python·机器学习
梦想画家7 小时前
无前端编码,解锁Langflow无限可能:自定义Python组件开发全指南
python·智能体·langflow
宇木灵7 小时前
C语言基础学习-X0前置
c语言·开发语言·学习
-Rane7 小时前
【C++】vector
开发语言·c++·算法
电饭叔7 小时前
python转换字符串介绍
开发语言·windows·python