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")
相关推荐
卡次卡次13 分钟前
vibecoding起步之注意点:从零到一:Claude Code 接入飞书文档的完整链路
python
Mikowoo00714 分钟前
机器学习_梯度计算
人工智能·python·机器学习
秋田君15 分钟前
Qt 5.12.8 下载与安装教程(附网盘资源)
开发语言·qt
雪隐18 分钟前
AI股票小助手01-量化交易基础概念
人工智能·后端·python
故事和你9119 分钟前
洛谷-【动态规划2】线性状态动态规划4
开发语言·数据结构·c++·算法·动态规划·图论
不吃土豆的马铃薯22 分钟前
Socket 网络编程实战教程
linux·服务器·开发语言·网络·c++·算法
芝麻开门GEO23 分钟前
2026年Q2济南企业如何选择可靠的GEO服务商
大数据·人工智能·python
AI砖家23 分钟前
Claude Code 跳过确认完全指南:让 AI 自己完成开发任务
前端·人工智能·python·ai编程·代码规范
Dxy123931021624 分钟前
Python 操作 MySQL 事务:从入门到避坑
android·python·mysql
小成2023032026538 分钟前
从C到C++
开发语言·c++