将一个文件夹中的黄色比例大于百分之70的图像复制到另一个文件夹
时间: 2023-07-29 21:07:13 浏览: 94
把一个文件的内容复制到另一个文件
5星 · 资源好评率100%
这个任务可以通过Python的Pillow库实现。具体步骤如下:
1. 遍历文件夹中所有图像文件。
2. 对于每个图像文件,使用Pillow库的Image.open()方法打开图像文件。
3. 使用Pillow库的Image.convert()方法将图像转换为L模式,即灰度图像。
4. 使用Pillow库的Image.histogram()方法获取图像的直方图信息。
5. 计算直方图中像素值大于等于192(即灰度值大于等于70%)的像素占比。
6. 如果占比大于等于70%,则将该图像文件复制到另一个文件夹中。
下面是Python代码实现:
```python
from PIL import Image
import shutil
import os
# 定义输入文件夹和输出文件夹路径
input_dir = "input_folder"
output_dir = "output_folder"
# 遍历输入文件夹中所有图像文件
for file_name in os.listdir(input_dir):
if file_name.endswith(".jpg") or file_name.endswith(".png"):
# 打开图像文件
img = Image.open(os.path.join(input_dir, file_name))
# 将图像转换为灰度图像
img = img.convert("L")
# 获取图像的直方图信息
hist = img.histogram()
# 计算直方图中像素值大于等于192的像素占比
ratio = sum(hist[192:]) / sum(hist)
# 如果占比大于等于70%,则将该图像文件复制到输出文件夹中
if ratio >= 0.7:
shutil.copy(os.path.join(input_dir, file_name), os.path.join(output_dir, file_name))
```
注意,在上面的代码中,我们假设输入文件夹中只包含jpg和png格式的图像文件。如果需要处理其他格式的图像文件,需要相应地修改代码。同时,我们也没有考虑输入文件夹中可能包含子文件夹的情况,如果需要处理子文件夹中的图像文件,需要使用递归遍历的方式来实现。
阅读全文