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")
相关推荐
Hiter_John15 分钟前
Golang的运算符
开发语言·后端·golang
硅谷秋水24 分钟前
世界模型:架构、方法、推理与应用的综述(下)
人工智能·机器学习·计算机视觉·语言模型·机器人
硅谷秋水34 分钟前
世界模型:架构、方法、推理与应用的综述(上)
人工智能·机器学习·计算机视觉·语言模型
码界索隆41 分钟前
Python转Java系列:前言
java·开发语言·python
金銀銅鐵1 小时前
用 Tkinter 实现一个罗马数字转整数的简单工具
后端·python
asdfg12589631 小时前
一文理解Java中的泛型
java·开发语言
Hiter_John1 小时前
Golang的变量常量初始化
开发语言·后端·golang
电商API_180079052471 小时前
免 TOP 入驻,第三方淘宝商品详情 API 快速接入与代码示例
java·大数据·开发语言·数据库·爬虫·数据分析
MC皮蛋侠客1 小时前
Ruff 完全指南:下一代 Python Linter 与 Formatter
python
c238561 小时前
C++列表初始化与变量类型推导
开发语言·c++