python批量裁剪图片替换原图
时间: 2023-09-14 21:11:44 浏览: 253
你可以使用Pillow库来批量裁剪图片并替换原图。以下是一个基本的示例代码:
```python
from PIL import Image
import os
# 设置裁剪后的图片大小
new_size = (256, 256)
# 遍历文件夹中的所有图片
for file_name in os.listdir('images'):
if file_name.endswith('.jpg'): # 只处理jpg文件
# 打开原始图片
image = Image.open(os.path.join('images', file_name))
# 裁剪图片
cropped_image = image.crop((0, 0, new_size[0], new_size[1]))
# 保存裁剪后的图片
cropped_image.save(os.path.join('images', file_name))
```
这段代码会遍历`images`文件夹中的所有`.jpg`图片,裁剪它们为指定大小,然后覆盖原始图片。你可以根据需要修改代码以适应你的具体需求。
相关问题
python图片批量裁剪并按顺序保存
你可以使用Python的PIL库(Pillow)来批量裁剪图片并按顺序保存。以下是一个示例代码:
```python
from PIL import Image
import os
# 指定图片文件夹路径和目标文件夹路径
image_folder = 'path/to/image/folder'
output_folder = 'path/to/output/folder'
# 遍历图片文件夹中的所有图片
for filename in os.listdir(image_folder):
if filename.endswith('.jpg') or filename.endswith('.png'): # 仅处理特定格式的图片
# 打开图片
image_path = os.path.join(image_folder, filename)
image = Image.open(image_path)
# 裁剪图片(这里假设裁剪出的区域是左上角的 100x100 区域)
cropped_image = image.crop((0, 0, 100, 100))
# 保存裁剪后的图片到目标文件夹中,按原始文件名保存
output_path = os.path.join(output_folder, filename)
cropped_image.save(output_path)
print('图片裁剪并保存完成!')
```
在上述代码中,你需要将 `path/to/image/folder` 替换为存储图片的文件夹路径,将 `path/to/output/folder` 替换为保存裁剪后图片的目标文件夹路径。裁剪的区域可以根据你的需求进行调整。
请确保你已经在Python环境中安装了Pillow库(可以通过 `pip install Pillow` 命令进行安装)。运行代码后,裁剪后的图片将按照原始文件名保存在目标文件夹中。
python 图片文件批量修改替换名称
可以使用Python的os和shutil模块来批量修改和替换图片文件名称。
具体步骤如下:
1. 导入os和shutil模块
```python
import os
import shutil
```
2. 遍历指定目录下的所有文件
```python
path = './images' # 指定目录
for filename in os.listdir(path):
filepath = os.path.join(path, filename) # 获取文件路径
if os.path.isfile(filepath): # 判断是否为文件
# 对文件进行操作
```
3. 修改文件名称
使用os模块的rename方法可以修改文件名称。可以根据需要对文件名称进行处理,如添加前缀、后缀或替换特定字符。
```python
new_filename = 'new_' + filename # 添加前缀
new_filepath = os.path.join(path, new_filename) # 新文件路径
os.rename(filepath, new_filepath) # 修改文件名称
```
4. 替换文件名称
如果需要替换特定字符,可以使用Python的字符串替换函数replace()。
```python
new_filename = filename.replace('old', 'new') # 替换字符
new_filepath = os.path.join(path, new_filename) # 新文件路径
os.rename(filepath, new_filepath) # 修改文件名称
```
完整代码示例:
```python
import os
import shutil
path = './images' # 指定目录
for filename in os.listdir(path):
filepath = os.path.join(path, filename) # 获取文件路径
if os.path.isfile(filepath): # 判断是否为文件
new_filename = filename.replace('old', 'new') # 替换字符
new_filepath = os.path.join(path, new_filename) # 新文件路径
os.rename(filepath, new_filepath) # 修改文件名称
```
这样就可以批量修改和替换指定目录下的图片文件名称。
阅读全文