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(rows,cols)
#opencv中的透射变换,需要一个3x3透射变换矩阵
#这个矩阵可以通过cv.getPerspectiveTransform(src,dst)获得
#src是原图中的4个点的坐标,dst是目标图像中的4个点的坐标(任意三个点不共线)
#参考资料:https://blog.csdn.net/qq_50394133/article/details/123832496
srcPts = np.float32([[56,65],[368,52],[28,387],[389,390]])
dstPts = np.float32([[100,145],[300,100],[80,290],[310,300]])
M_perspective = cv.getPerspectiveTransform(srcPts,dstPts)
#图像透射变换
#cv.warpPerspective(src,M,dsize,dst,flags,borderMode,borderValue)
img_perspective = cv.warpPerspective(img,M_perspective,(cols,rows))
#显示图像
fig,axes = plt.subplots(nrows=1, ncols=2, figsize=(12,12), dpi=100)
axes[0].imshow(img[:,:,::-1])
axes[0].set_title("Original")
axes[1].imshow(img_perspective[:,:,::-1])
axes[1].set_title("Perspective Transform")
Python Opencv实践 - 图像透射变换
亦枫Leonlew2023-08-17 17:18
相关推荐
计算机徐师兄10 分钟前
Python基于Django的web漏洞挖掘扫描技术的实现与研究(附源码,文档说明)m0_7482466110 分钟前
【论文投稿】Python 网络爬虫:探秘网页数据抓取的奇妙世界minstbe15 分钟前
AI开发 - 算法基础 递归 的概念和入门(二)汉诺塔问题 递归的应用和使用注意 - Pythonweb1478621072330 分钟前
Python毕业设计选题:基于django+vue的疫情数据可视化分析系统岁月如歌,青春不败38 分钟前
HMSC联合物种分布模型susu108301891141 分钟前
python中Windows系统使用 pywin32 来复制图像到剪贴板,并使用 Selenium 模拟 Ctrl+V 操作Pocker_Spades_A44 分钟前
阿里云-通义灵码:在 PyCharm 中的强大助力(下)言之。1 小时前
【Java】面试题 并发安全 (1)m0_748234521 小时前
2025最新版Java面试八股文大全chengxuyuan1213_1 小时前
Python有哪些常用的库