cv2通过用背景色"填充"轮廓矩形来删除文本 python代码
时间: 2023-11-15 15:05:51 浏览: 120
用python代码把背景颜色过滤掉
下面是使用 OpenCV 在 Python 中实现通过用背景色“填充”轮廓矩形来删除文本的代码示例:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 使用二值化将图像转换为黑白图像
_, thresh = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY)
# 查找轮廓
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 在轮廓矩形内部填充背景色
for contour in contours:
x, y, w, h = cv2.boundingRect(contour)
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 255, 255), -1)
# 显示结果图像
cv2.imshow('result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们首先读取一张图像,将其转换为灰度图像,并使用二值化将其转换为黑白图像。然后,使用`cv2.findContours()`函数查找图像中的轮廓。接着,对于每个轮廓,使用`cv2.boundingRect()`函数获取其外接矩形,并使用`cv2.rectangle()`函数在矩形内部填充白色背景。最后,显示处理后的图像。
需要注意的是,在实际应用中,可能需要先对图像进行预处理,例如去除噪声、进行图像增强等,以提高文本删除的效果。
阅读全文