opencv 矩形框摆正
时间: 2024-04-16 16:23:17 浏览: 20
根据提供的引用内容,OpenCV可以根据矩形轮廓进行倾斜校正[^1]。下面是一个示例程序,演示了如何使用OpenCV对矩形框进行摆正:
```python
import cv2
import numpy as np
# 读取图像
image = cv2.imread('image.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 进行边缘检测
edges = cv2.Canny(gray, 50, 150)
# 查找轮廓
contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 遍历轮廓
for contour in contours:
# 计算轮廓的边界框
rect = cv2.minAreaRect(contour)
box = cv2.boxPoints(rect)
box = np.int0(box)
# 计算边界框的角度
angle = rect[-1]
# 根据角度进行旋转
M = cv2.getRotationMatrix2D(rect, angle, 1)
rotated = cv2.warpAffine(image, M, (image.shape, image.shape))
# 显示结果
cv2.drawContours(image, [box], 0, (0, 255, 0), 2)
cv2.imshow("Original Image", image)
cv2.imshow("Rotated Image", rotated)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个示例程序使用了OpenCV的函数来提取图像中的矩形轮廓,并根据轮廓的边界框进行倾斜校正。程序首先读取图像,然后将其转换为灰度图像,并进行边缘检测。接下来,程序使用`cv2.findContours`函数查找图像中的轮廓。然后,程序遍历每个轮廓,计算轮廓的边界框,并根据边界框的角度进行旋转。最后,程序显示原始图像和校正后的图像。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)