当前位置:首页 > Python > 正文

Python加载图片尺寸的4种方法 - 详细教程与代码示例

Python图片尺寸加载完全指南

学习使用多种Python库获取图片尺寸的详细方法

为什么需要获取图片尺寸?

在图像处理和计算机视觉应用中,获取图片尺寸(宽度和高度)是最基础的操作之一。无论是调整图片大小、创建缩略图、图像分析还是深度学习预处理,都需要首先获取图片的尺寸信息。

网页设计

确保响应式布局中图片比例正确,避免布局偏移

计算机视觉

图像处理前的基本信息获取,是后续处理的基础

数据分析

批量处理图片数据集时获取元信息

使用Pillow库获取图片尺寸

Pillow是Python中最流行的图像处理库,是PIL(Python Imaging Library)的分支和升级版。

安装方法:

pip install Pillow

示例代码:

from PIL import Image

# 打开图像文件
img = Image.open('example.jpg')

# 获取图片尺寸
width, height = img.size

print(f"图片宽度: {width} 像素")
print(f"图片高度: {height} 像素")
print(f"图片模式: {img.mode}")  # 输出图像模式(如RGB、RGBA等)

优点: 简单易用,轻量级,支持多种图像格式

缺点: 功能相对基础,不适合复杂的计算机视觉任务

使用OpenCV获取图片尺寸

OpenCV是计算机视觉领域最流行的库,提供了丰富的图像处理功能。

安装方法:

pip install opencv-python

示例代码:

import cv2

# 读取图像
img = cv2.imread('example.jpg')

# 获取图片尺寸
height, width, channels = img.shape

print(f"图片宽度: {width} 像素")
print(f"图片高度: {height} 像素")
print(f"通道数: {channels}")  # 彩色图像通常为3(BGR),灰度图为1

注意: OpenCV使用BGR颜色空间而不是RGB,处理时需注意转换

其他方法

使用Matplotlib

import matplotlib.pyplot as plt

img = plt.imread('example.jpg')
height, width, channels = img.shape

print(f"尺寸: {width}x{height}")

使用Scikit-image

from skimage import io

img = io.imread('example.jpg')
height, width, channels = img.shape

print(f"尺寸: {width}x{height}")

方法比较

方法 安装大小 速度 功能丰富度 适用场景
Pillow 基础 简单图像处理
OpenCV 非常快 非常丰富 计算机视觉项目
Matplotlib 中等 数据可视化
Scikit-image 丰富 科研图像处理

最佳实践建议

  • 简单任务使用Pillow:如果只需要获取尺寸或简单处理
  • 计算机视觉项目使用OpenCV:需要高级功能时
  • 处理网络图片:结合requests和Pillow
  • 批量处理:使用Pillow或OpenCV,避免重复加载

发表评论