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")
相关推荐
特种加菲猫几秒前
C++ std::list 完全指南:从入门到精通所有接口
开发语言·c++
清空mega几秒前
第4章:JSP 程序设计实战——for、if、动态表格与 99 乘法表
开发语言·python
共享家95276 分钟前
Java入门(类和对象)
java·开发语言
深圳市快瞳科技有限公司9 分钟前
面向复杂光照与角度的宠物面部识别鲁棒性增强策略
计算机视觉·宠物
习惯就好zz11 分钟前
Qt Quick 系统托盘完整实践
开发语言·qt·qml·系统托盘·system tray·qapplication·qguiapplication
笨笨马甲11 分钟前
Qt集成OpenCV
开发语言·qt
笨笨马甲11 分钟前
Qt 工业机器视觉开发
开发语言·qt
咚为12 分钟前
深入浅出 Rust FFI:从内存安全到二进制兼容
开发语言·安全·rust
阿钱真强道13 分钟前
06 Python 数据分析入门:集中趋势与离散程度
python·数据挖掘·数据分析·pandas·可视化·python入门·统计学