OpenCV的图像矫正

一、原理

图像矫正的原理是透视变换,下面来介绍一下透视变换的概念。

透视变换(Perspective Transform)基于一个4对点的映射关系(4个源点到4个目标点),通过这些点之间的映射,可以计算一个变换矩阵(3x3)。利用该矩阵对图像进行变换,实现畸变矫正。

二、代码

python 复制代码
import cv2
import numpy as np

#读取一张彩色图
img=cv2.imread('./3.png.')

#获取透视矩阵
# 1.找到原图的四个点,可以手动设置,也可以在后面学完轮廓后筛选自动获取
points1=np.float32([[175,142],[621,35],[89,491],[652,546]])

# 2.设置原图中的四个点在目标图中的位置
points2=np.array([[0,0],[img.shape[1],0],[0,img.shape[0]],[img.shape[1],img.shape[0]]],dtype=np.float32)

#获取矩阵
M=cv2.getPerspectiveTransform(points1,points2)

#进行透视变换
img_p=cv2.warpPerspective(img,M,(img.shape[1],img.shape[0]))

cv2.imshow('img',img)
cv2.imshow('img_p',img_p)
cv2.waitKey(0)

三、实验现象

相关推荐
Kapaseker几秒前
你花大价钱买的那张 5090 可能跑不了本地 AI 模型
人工智能
程序员果子22 分钟前
本体构建方法
人工智能·python·知识图谱·agent框架·本体
深蓝AI37 分钟前
Meta FAIR 开源 e-means:k-means 十分之一的轮数跑出更低损失,已并入 Faiss
人工智能·程序员
IT_陈寒39 分钟前
Vue这个奇葩的响应式问题让我加班到凌晨
前端·人工智能·后端
yunhuibin1 小时前
AI分类任务种类
人工智能·自然语言处理·分类
东坡肘子1 小时前
参与学生移动应用大赛有感 -- 肘子的 Swift 周报 #161
人工智能·swiftui·swift
天天被压力1 小时前
【A股分钟级高频数据完全手册 #11】券商实时行情数据接口:实时交易(券商源)接入与字段
java·人工智能·python
唐老板1 小时前
agent 撑爆 Git 之后,两家改的不是同一层
人工智能·ai编程
天天被压力1 小时前
【A股分钟级高频数据完全手册 #12】股票五档盘口数据接口:买卖五档实时盘口解析
java·人工智能·python