Python批量裁剪图形外围黑色区域
时间: 2023-11-05 19:01:11 浏览: 80
python批量裁剪图片
5星 · 资源好评率100%
以下是使用Python和OpenCV库批量裁剪图形外围黑色区域的示例代码:
```python
import cv2
import os
input_folder = 'input_folder'
output_folder = 'output_folder'
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
if filename.endswith('.jpg') or filename.endswith('.png'):
img = cv2.imread(os.path.join(input_folder, filename))
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, thresh = cv2.threshold(gray, 1, 255, cv2.THRESH_BINARY)
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
x, y, w, h = cv2.boundingRect(contours[0])
crop_img = img[y:y+h, x:x+w]
cv2.imwrite(os.path.join(output_folder, filename), crop_img)
```
上述代码遍历指定文件夹中的所有图像文件,对每个图像进行如下操作:
1. 读取图像
2. 将图像转换为灰度图像
3. 对灰度图像进行二值化处理,将非黑色区域设置为白色
4. 查找二值化图像中的外轮廓
5. 获取外轮廓的边界矩形
6. 根据边界矩形裁剪图像
7. 将裁剪后的图像保存到指定输出文件夹中
注:该方法只适用于图像中的黑色区域完全围绕着需要保留的区域,如果黑色区域有间隙或者不完整,将无法正确裁剪。
阅读全文