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)

三、实验现象

相关推荐
码农小白猿1 分钟前
超导材料测试的智能化升级:IACheck如何优化临界温度与电阻率数据的核验
人工智能
qq_411262423 分钟前
四博智联 AI 技术方案
人工智能
啊巴矲3 分钟前
小白从零开始勇闯人工智能:机器学习初级篇(线性回归与逻辑回归)
人工智能·机器学习·线性回归
cici158747 分钟前
MATLAB全景拼接完整实现方案
图像处理·计算机视觉·matlab
deardao15 分钟前
【时序异常检测综述】十年回顾:深入研究时间序列异常检测
人工智能·机器学习·时间序列·事件检测
Axis tech18 分钟前
SenseGlove R1外骨骼手套专为机器人遥操作设计
人工智能
沫儿笙18 分钟前
弧焊机器人节气设备
人工智能·机器人
百锦再25 分钟前
Python实现开源AI模型引入及测试全过程
人工智能·python·ai·开源·aigc·模型·自然语言
咋吃都不胖lyh31 分钟前
详解 UCB 算法的置信区间与核心逻辑(通俗 + 公式 + 实例)
人工智能·算法·机器学习
造火箭32 分钟前
普通手机使用Open-AutoGLM 感受豆包AI 手机的体验
人工智能·智能手机