这是对于 OpenCV 官方文档中 图像处理 的学习笔记。学习笔记中会记录官方给出的例子,也会给出自己根据官方的例子完成的更改代码,同样彩蛋的实现也会结合多个知识点一起实现一些小功能,来帮助我们对学会的知识点进行结合应用。
如果有喜欢我笔记的请麻烦帮我关注、点赞、评论。谢谢诸位。
学习笔记:
学习笔记目录里面会收录我关于OpenCV系列学习笔记博文,大家如果有什么不懂的可以通过阅读我的学习笔记进行学习。
【OpenCV学习笔记】- 学习笔记目录
主要是对变形图片进行修复,图片内容进行矫正。
在日常生活中,我们经常因为相机角度问题,拍摄的内容不太端正,这让我们很苦恼,如何通过代码对图片进行矫正修复?
接下来我们通过透视变换对图片进行矫正。
示例代码:
# 图像的几何变换
# 透视变换 - 变形图片修复
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('../image/3.2.2-2.png')
rows, cols, ch = img.shape
pts1 = np.float32([[300, 300], [2460, 230], [2460, 3200], [240, 3130]])
pts2 = np.float32([[100, 100], [2312, 100], [2312, 3045], [100, 3045]])
M = cv2.getPerspectiveTransform(pts1, pts2)
dst = cv2.warpPerspective(img, M, (2480, 3175))
plt.subplot(121), plt.imshow(img), plt.title('Input')
plt.subplot(122), plt.imshow(dst), plt.title('Output')
plt.show()
效果图:
**核心原理:**主要是通过原图的4个点和原图的4个点进行映射,形成透视关系,通过透视变换,让图片无限接近于原图。