python如何输出批量图片大小
时间: 2023-06-29 10:12:07 浏览: 78
你可以使用 Python 的 OpenCV 模块来输出批量图片的大小。下面是一个简单的示例代码:
```python
import cv2
import os
# 图片所在的文件夹路径
folder_path = "path/to/folder"
# 遍历文件夹中的所有图片
for filename in os.listdir(folder_path):
if filename.endswith(".jpg") or filename.endswith(".png"):
# 读取图片
img_path = os.path.join(folder_path, filename)
img = cv2.imread(img_path)
# 获取图片大小
height, width, channels = img.shape
print(f"{filename}: {width}x{height}")
```
在上面的代码中,我们首先指定了包含图片文件的文件夹路径 `folder_path`。然后,我们使用 `os.listdir` 函数遍历文件夹中的所有文件,并通过检查文件扩展名来过滤出图片文件。对于每个图片文件,我们使用 OpenCV 的 `cv2.imread` 函数读取图片,然后使用图片对象的 `shape` 属性获取其大小。最后,我们将文件名和大小输出到控制台。
相关问题
python 批量改变图片大小
在Python中,你可以使用PIL(Python Imaging Library)或者其更新版本Pillow库来批量更改图像的大小。以下是使用Pillow库的一个简单示例:
首先,你需要安装Pillow库,如果你还没有安装,可以用pip进行安装:
```bash
pip install pillow
```
然后,你可以编写一个脚本来遍历指定目录下的所有图片文件,并调整它们的大小,例如将其缩放到特定尺寸:
```python
from PIL import Image
def resize_images(input_dir, output_dir, new_size):
for filename in os.listdir(input_dir):
if filename.endswith(('.jpg', '.jpeg', '.png', '.gif')):
img_path = os.path.join(input_dir, filename)
with Image.open(img_path) as im:
resized_img = im.resize(new_size)
output_path = os.path.join(output_dir, filename)
resized_img.save(output_path)
# 使用方法
input_dir = 'path_to_your_input_folder'
output_dir = 'path_to_output_folder'
new_size = (800, 600) # 新的宽度和高度
resize_images(input_dir, output_dir, new_size)
```
在这个例子中,`resize_images`函数会读取输入目录中的每个图片文件,以其原格式保存为新的大小到输出目录。
python批量裁图片大小
如果你想使用Python对图片进行批量裁剪,可以使用Pillow库来实现。以下是一个简单的代码示例:
```python
from PIL import Image
import os
def crop_images(input_dir, output_dir, crop_size):
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for filename in os.listdir(input_dir):
if filename.endswith('.jpg') or filename.endswith('.png'):
with Image.open(os.path.join(input_dir, filename)) as img:
width, height = img.size
for i in range(0, width, crop_size):
for j in range(0, height, crop_size):
box = (i, j, i+crop_size, j+crop_size)
cropped_img = img.crop(box)
cropped_img.save(os.path.join(output_dir, f'{filename}_{i}_{j}.jpg'))
```
这个函数接受三个参数:输入目录,输出目录和裁剪尺寸。它会遍历输入目录中的所有图片文件,对每张图片进行裁剪,并将裁剪后的小图保存到输出目录中。裁剪的大小由crop_size参数指定。
需要注意的是,这个函数只是一个简单的示例,可能需要根据你的具体需求进行修改和优化。比如,你可能需要添加一些参数来控制裁剪的方式和输出格式,或者对裁剪后的小图进行一些后处理操作。
阅读全文