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(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")
相关推荐
Nick_zcy1 分钟前
新能源汽车推荐系统分享
爬虫·python·汽车·推荐算法
c#上位机3 分钟前
halcon创建对象数组——concat_obj
图像处理·计算机视觉·c#·halcon
未来影子5 分钟前
Java领域构建Agent新杀入一匹黑马(agentscope-java)
java·开发语言·python
不会写DN7 分钟前
JavaScript call、apply、bind 方法解析
开发语言·前端·javascript·node.js
阿里嘎多学长7 分钟前
2025-12-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管
goxingman9 分钟前
实体类上关于时间字符串和时间字段转换涉及注解分析
java·开发语言
_Voosk9 分钟前
C指针存储字符串为何不能修改内容
c语言·开发语言·汇编·c++·蓝桥杯·操作系统
吃不饱的得可可20 分钟前
【Linux】mmap文件映射的使用
linux·开发语言·c++
管理大亨22 分钟前
ELK的操作应用
开发语言·python·elk
步达硬件23 分钟前
【matlab】代码库-双线性插值
开发语言·matlab