我需要一段python代码,要求如下:读取指定文件夹中的所有格式为tif图片,将图片中的不同不规则白色图案用不同颜色填充,黑色图案不变
时间: 2024-02-05 17:12:41 浏览: 52
python或C++读取指定文件夹下的所有图片
好的,以下是您所需的Python代码:
```python
import cv2
import os
# 定义需要处理的文件夹路径
folder_path = "your/folder/path"
# 定义不规则白色图案所对应的颜色
white_colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255)] # 您可以根据需要修改颜色值
# 遍历文件夹中的所有tif图片,进行处理
for filename in os.listdir(folder_path):
if filename.endswith(".tif"):
# 读取tif图片
image = cv2.imread(os.path.join(folder_path, filename))
# 将图片转换为灰度图像
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 提取不规则白色图案的轮廓
_, contours, hierarchy = cv2.findContours(gray_image, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
for i, contour in enumerate(contours):
cv2.drawContours(image, [contour], 0, white_colors[i % len(white_colors)], -1)
# 保存处理后的图片
cv2.imwrite(os.path.join(folder_path, filename), image)
print("处理完成:" + filename)
```
这段代码会扫描指定路径中的所有tif图片,并将图片中的所有不规则白色图案用不同的颜色填充。黑色图案将保持不变。为了区分不同的不规则白色图案,您可以修改代码中的`white_colors`列表以使用不同的颜色组合。
阅读全文