遍历两个文件夹里面的图片 并将每次对应的图片相乘
时间: 2023-05-21 22:04:55 浏览: 49
可以使用Python中的PIL库(Python Imaging Library)遍历两个文件夹中的图片并进行相乘操作。首先,需要使用os库中的walk函数遍历文件夹,然后使用PIL库中的Image类进行图片操作。
以下是伪代码:
import os
from PIL import Image
folder1 = "path/to/folder1"
folder2 = "path/to/folder2"
output_folder = "path/to/output_folder"
for root, dirs, files in os.walk(folder1):
for file in files:
if file.endswith(".jpg") or file.endswith(".png"): #判断文件是否为图片
img1 = Image.open(os.path.join(root, file))
img2 = Image.open(os.path.join(folder2, file))
result_img = ImageChops.multiply(img1, img2) #对图片进行相乘操作
result_img.save(os.path.join(output_folder, file)) #保存结果图片至指定文件夹
相关问题
C++遍历一个文件夹中所有图片
遍历一个文件夹中所有图片可以使用 C++17 中的 `filesystem` 库。以下是一个示例代码,假设需要遍历的文件夹路径为 `path/to/folder`:
```c++
#include <filesystem>
#include <iostream>
#include <string>
namespace fs = std::filesystem;
int main() {
std::string folder_path = "path/to/folder";
for (const auto& entry : fs::directory_iterator(folder_path)) {
if (entry.is_regular_file()) {
std::string extension = entry.path().extension().string();
if (extension == ".jpg" || extension == ".png" || extension == ".bmp") {
std::cout << entry.path() << '\n';
// 在这里可以对图片进行处理
}
}
}
return 0;
}
```
这段代码会遍历 `folder_path` 文件夹中的所有文件和子文件夹,如果遇到一个文件而且它的扩展名是 `.jpg`、`.png` 或 `.bmp`,就会将它的路径打印出来。在这里你可以对图片进行处理,比如读取图片并进行一些操作。需要注意的是,这段代码需要使用 C++17 标准编译,你需要在编译器中加入 `-std=c++17` 参数。
使用python同时遍历两个文件夹下的子文件夹
可以使用Python的os模块和os.walk()函数来同时遍历两个文件夹下的子文件夹。以下是示例代码:
```python
import os
# 两个文件夹路径
folder_path1 = '/path/to/folder1'
folder_path2 = '/path/to/folder2'
# 遍历两个文件夹下的子文件夹
for root, dirs, files in os.walk(folder_path1):
for dir in dirs:
subfolder_path = os.path.join(root, dir)
print(subfolder_path)
for root, dirs, files in os.walk(folder_path2):
for dir in dirs:
subfolder_path = os.path.join(root, dir)
print(subfolder_path)
```
以上代码可以遍历`folder_path1`和`folder_path2`下的所有子文件夹,并输出子文件夹路径。需要替换`folder_path1`和`folder_path2`为实际的文件夹路径。