用python将文件夹当中的.jpg的照片文件提取出来,然后灰度处理,且将照片的像素转换成28*28
时间: 2024-09-11 09:01:29 浏览: 43
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
在Python中,你可以使用Pillow库来操作图像文件,并结合numpy进行处理。首先,你需要遍历文件夹中的.jpg文件,将其转换为灰度并缩放到28x28像素。下面是一个简单的示例:
```python
from PIL import Image
import os
# 定义处理图片的函数
def preprocess_image(img_path):
# 打开图片
img = Image.open(img_path)
# 转换为灰度
img_gray = img.convert('L')
# 缩放至28x28像素
resized_img = img_gray.resize((28, 28), Image.ANTIALIAS)
# 将像素转化为numpy数组
pixel_array = np.array(resized_img)
return pixel_array
# 定义主程序
def extract_and_process_images(input_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'):
# 获取图片路径
img_path = os.path.join(input_folder, filename)
# 提取并处理图片
processed_img = preprocess_image(img_path)
# 保存处理后的图片
new_filename = 'gray_' + filename
new_path = os.path.join(output_folder, new_filename)
im = Image.fromarray(processed_img)
im.save(new_path)
# 使用函数处理指定文件夹
extract_and_process_images('input_folder', 'output_folder')
```
这个脚本会将`input_folder`下的所有.jpg图片转换为灰度,并保持28x28像素,然后将处理过的图片保存到`output_folder`。每个原图片的名称将在新命名中保留前缀`gray_`。
阅读全文