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 小时前
pywinauto-打开程序+连接已打开的程序
开发语言·python
Ws_12 小时前
C#学习 Day2
开发语言·学习·c#
lishi_199112 小时前
一键部署MoviePilotV2实现NAS全自动追剧
python·媒体·moviepilot
杰克尼12 小时前
天机学堂复习总结(day03-day04)
java·开发语言·redis·elasticsearch·spring cloud
x***r15113 小时前
jdk-11.0.16.1_windows使用步骤详解(附JDK 11环境变量配置与验证教程)
java·开发语言·windows
测试开发-学习笔记13 小时前
代码详细解释
python
白日做梦Q14 小时前
Label Studio 安装与使用完整文档(可直接复制部署)
深度学习·yolo·计算机视觉
u01196082314 小时前
ray-k8s部署
python
luck_bor14 小时前
File类&递归作业
java·开发语言
PAK向日葵16 小时前
我用 C++ 写了一个轻量级 Python 虚拟机,刚刚开源
c++·python·开源