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")
Python Opencv实践 - 图像放射变换
亦枫Leonlew2023-08-15 13:12
相关推荐
源码哥_博纳软云13 分钟前
JAVA同城服务场馆门店预约系统支持H5小程序APP源码学会沉淀。20 分钟前
Docker学习如若12322 分钟前
对文件内的文件名生成目录,方便查阅西猫雷婶1 小时前
python学opencv|读取图像(二十一)使用cv2.circle()绘制圆形进阶kiiila1 小时前
【Qt】对象树(生命周期管理)和字符集(cout打印乱码问题)小_太_阳1 小时前
Scala_【2】变量和数据类型直裾1 小时前
scala借阅图书保存记录(三)老刘莱国瑞1 小时前
STM32 与 AS608 指纹模块的调试与应用湫ccc1 小时前
《Opencv》基础操作详解(3)唐 城2 小时前
curl 放弃对 Hyper Rust HTTP 后端的支持