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)

三、实验现象

相关推荐
苦学LCP的小猪12 分钟前
OpenCV图像基本操作
opencv·计算机视觉
量子-Alex13 分钟前
【目标检测】【PANet】Path Aggregation Network for Instance Segmentation
人工智能·目标检测·计算机视觉
lihuayong16 分钟前
计算机视觉:经典数据格式(VOC、YOLO、COCO)解析与转换(附代码)
人工智能·yolo·目标检测·计算机视觉·目标跟踪·coco·数据标注
thinkMoreAndDoMore21 分钟前
深度学习(3)-TensorFlow入门(常数张量和变量)
开发语言·人工智能·python
神舟之光22 分钟前
动手学深度学习2025.2.23-预备知识之-线性代数
人工智能·深度学习·线性代数
wapicn9934 分钟前
‌挖数据平台对接DeepSeek推出一键云端部署功能:API接口驱动金融、汽车等行业智能化升级
java·人工智能·python·金融·汽车·php
不爱学习的YY酱42 分钟前
MusicGPT的本地化部署与远程调用:让你的Windows电脑成为AI音乐工作站
人工智能·windows
kakaZhui44 分钟前
【多模态大模型】端侧语音大模型minicpm-o:手机上的 GPT-4o 级多模态大模型
人工智能·chatgpt·aigc·llama
艾思科蓝 AiScholar1 小时前
【SPIE出版,见刊快速,EI检索稳定,浙江水利水电学院主办】2025年物理学与量子计算国际学术会议(ICPQC 2025)
图像处理·人工智能·信息可视化·自然语言处理·数据分析·力扣·量子计算
liruiqiang051 小时前
机器学习 - 衡量模型的特性
人工智能·机器学习