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 小时前
人才教育导向下:老年生活照护实训室助力提升学生老年照护服务能力
人工智能
湫兮之风2 小时前
Opencv: cv::LUT()深入解析图像块快速查表变换
人工智能·opencv·计算机视觉
Christo33 小时前
TFS-2018《On the convergence of the sparse possibilistic c-means algorithm》
人工智能·算法·机器学习·数据挖掘
qq_508823403 小时前
金融量化指标--2Alpha 阿尔法
大数据·人工智能
黑金IT3 小时前
`.cursorrules` 与 `.cursorcontext`:Cursor AI 编程助手时代下的“双轨配置”指南
人工智能
学弟3 小时前
快捷:常见ocr学术数据集预处理版本汇总(适配mmocr)
计算机视觉
dlraba8024 小时前
基于 OpenCV 的信用卡数字识别:从原理到实现
人工智能·opencv·计算机视觉
IMER SIMPLE4 小时前
人工智能-python-深度学习-经典神经网络AlexNet
人工智能·python·深度学习
小憩-6 小时前
【机器学习】吴恩达机器学习笔记
人工智能·笔记·机器学习
却道天凉_好个秋7 小时前
深度学习(二):神经元与神经网络
人工智能·神经网络·计算机视觉·神经元