cv2 修正 矩形 投影
时间: 2023-11-08 20:05:56 浏览: 57
二维图形的投影变换
cv2中可以使用函数cv2.getPerspectiveTransform()和cv2.warpPerspective()来实现矩形投影的修正。具体步骤如下:
1. 通过cv2.findContours()函数找到矩形的四个顶点坐标。
2. 根据四个顶点坐标计算出变换矩阵,使用cv2.getPerspectiveTransform()函数。
3. 使用cv2.warpPerspective()函数将图像进行投影变换。
代码示例:
```
import cv2
import numpy as np
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnt = contours[0]
rect = cv2.minAreaRect(cnt)
box = cv2.boxPoints(rect)
box = np.int0(box)
src_pts = box.astype("float32")
dst_pts = np.array([[0, 0], [img.shape[1], 0], [img.shape[1], img.shape[0]], [0, img.shape[0]]], dtype="float32")
M = cv2.getPerspectiveTransform(src_pts, dst_pts)
warped = cv2.warpPerspective(img, M, (img.shape[1], img.shape[0]))
cv2.imshow("Original Image", img)
cv2.imshow("Warped Image", warped)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文