opencv对旋转矩形中二值化
时间: 2023-06-28 17:09:03 浏览: 176
根据最小外接矩形放平_计算旋转角_二值图像旋转至水平_最小外接矩形你和_
5星 · 资源好评率100%
可以使用opencv中的函数cv2.warpAffine()实现旋转矩形的二值化。具体步骤如下:
1. 先将旋转矩形的四个顶点坐标取出,并计算矩形的中心点坐标和旋转角度。
2. 构造旋转矩阵,使用cv2.getRotationMatrix2D()函数,传入中心点坐标和旋转角度。
3. 构造仿射变换矩阵,使用cv2.warpAffine()函数,传入二值化图像和旋转矩阵,得到旋转后的二值化图像。
以下是代码示例:
```python
import cv2
import numpy as np
# 读入原图和旋转矩形坐标
img = cv2.imread('image.jpg', 0)
rect = cv2.minAreaRect(cnt)
box = cv2.boxPoints(rect)
box = np.int0(box)
# 计算矩形中心点坐标和旋转角度
center, angle = rect[0], rect[2]
# 构造旋转矩阵
M = cv2.getRotationMatrix2D(center, angle, 1)
# 构造仿射变换矩阵
warped = cv2.warpAffine(img, M, (img.shape[1], img.shape[0]), flags=cv2.INTER_CUBIC, borderMode=cv2.BORDER_REPLICATE)
cv2.imshow('original', img)
cv2.imshow('rotated', warped)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文