能够读取多个文件夹,读取文件夹可以自己选择,保存文件夹路径自己选择,保存的图片名,文件夹要和读取的文件夹名,图片名一致.图片去除黑色边框,保持原画色泽一样 图片规格要统一
时间: 2024-02-03 10:16:56 浏览: 42
好的,您需要一个可以读取多个文件夹、去除图片黑色边框并保持原画色泽一致的图像处理程序。我可以帮您实现这个功能,以下是一个简单的Python代码示例:
```python
import os
import cv2
# 输入文件夹路径
folders_path = input("请输入要处理的文件夹路径(多个文件夹请使用逗号分隔):")
folders = folders_path.split(",")
# 输出文件夹路径
output_path = input("请输入要保存的文件夹路径:")
# 遍历每个文件夹
for folder in folders:
# 获取文件夹名
folder_name = os.path.basename(folder)
# 创建输出文件夹
output_folder = os.path.join(output_path, folder_name)
os.makedirs(output_folder, exist_ok=True)
# 遍历每个文件
for file_name in os.listdir(folder):
# 判断是否为图像文件
if file_name.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp')):
# 读取图像
img_path = os.path.join(folder, file_name)
img = cv2.imread(img_path)
# 去除黑色边框
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, thresh = cv2.threshold(gray, 1, 255, cv2.THRESH_BINARY)
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnt = contours[0]
x, y, w, h = cv2.boundingRect(cnt)
crop_img = img[y:y+h, x:x+w]
# 保存图像
output_file = os.path.join(output_folder, file_name)
cv2.imwrite(output_file, crop_img)
```
您只需要在命令行中输入要处理的文件夹路径、要保存的文件夹路径即可。代码会自动遍历每个文件夹,并对其中的图像文件进行处理。处理后的图像会保存在以原文件夹名命名的输出文件夹中,与原文件名一致。