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")
相关推荐
费弗里5 分钟前
一个小技巧轻松提升Dash应用debug效率
python·dash
小小测试开发7 分钟前
Python浮点型常用方法全解析:从基础到实战
python
jiaguangqingpanda10 分钟前
Day24-20260120
java·开发语言·数据结构
m0_5027249510 分钟前
飞书真机调试
开发语言·前端·javascript
大模型实验室Lab4AI12 分钟前
西北工业大学 StereoMV2D 突破 3D 物体检测深度难题,精度与效率兼得
人工智能·计算机视觉·目标跟踪
ValhallaCoder23 分钟前
Day53-图论
数据结构·python·算法·图论
爱打代码的小林42 分钟前
opencv基础(轮廓检测、绘制与特征)
人工智能·opencv·计算机视觉
lpfasd1231 小时前
PyGithub用法详解
git·python·github
给我来一根1 小时前
用户认证与授权:使用JWT保护你的API
jvm·数据库·python
BZGLOqgZ1 小时前
8位SAR ADC系统架构与功能解析
图像处理