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")
相关推荐
洛阳吕工16 小时前
【Python 教程】无人机 MAVLink 通信完整实战:连接飞控、接收数据与发送指令
开发语言·python·无人机
小辉同志16 小时前
79. 单词搜索
开发语言·c++·leetcode·回溯
娇娇爱吃蕉蕉.16 小时前
类和对象的默认成员函数
c语言·开发语言·c++·算法
广州山泉婚姻16 小时前
Python 虚拟环境 venv 在 VSCode 中的正确用法
人工智能·python
小白学大数据16 小时前
Python requests + BeautifulSoup 爬取豆瓣电影图片
开发语言·python·beautifulsoup
渡我白衣16 小时前
见微知著——特征工程的科学与艺术
人工智能·深度学习·神经网络·机器学习·计算机视觉·自然语言处理·语音识别
她说..1 天前
Java 对象相关高频面试题
java·开发语言·spring·java-ee
花酒锄作田1 天前
Postgres - Listen/Notify构建轻量级发布订阅系统
python·postgresql
watson_pillow1 天前
c++ 协程的初步理解
开发语言·c++
庞轩px1 天前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器