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")
相关推荐
转型AI的宏达1 分钟前
ETF遍历取数模块 金融量化建模 Python
python
weixin_307779133 分钟前
提升 LLM 输出鲁棒性:使用 json_repair 智能修复非标准 JSON
开发语言·人工智能·算法·json·软件工程
yaoxin5211237 分钟前
352. Java IO API - Java 文件操作:java.io.File 与 java.nio.file 功能对比 - 4
java·python·nio
重庆兔巴哥8 分钟前
如何使用Dev-C++的Windows API进行GUI开发?
开发语言·c++·windows
nananaij10 分钟前
【LeetCode-04 数组异或操作 python解法】
python·算法·leetcode
AI浩12 分钟前
使用模糊图像进行通用相机校准
人工智能·数码相机·计算机视觉
Yupureki13 分钟前
《C++实战项目-高并发内存池》6.内存释放流程
c语言·开发语言·数据结构·c++·算法·哈希算法
badhope13 分钟前
一命速通蓝桥杯全攻略
开发语言·前端·人工智能·python·职场和发展·蓝桥杯·github
誰氵难浔15 分钟前
了解和使用python的click命令行cli工具
python
charlie11451419116 分钟前
嵌入式现代C++开发——三路比较运算符
开发语言·c++·学习·算法·嵌入式·编程指南