如何使用Python的OpenCV批量修改图片分辨率
在图像处理和计算机视觉中,经常需要处理大量的图像数据,其中一个常见需求是修改图像的分辨率。Python的OpenCV库提供了一些方便的功能,可以帮助我们批量修改图像的分辨率。本文将介绍如何使用Python的OpenCV库来实现这一功能。
1. 安装OpenCV库
首先,确保你已经安装了Python和OpenCV库。如果尚未安装OpenCV库,可以通过以下命令来安装:
pip install opencv-python
2. 导入OpenCV库和其他必要的库
接下来,在代码的开头,我们需要导入OpenCV库和其他必要的库:
import cv2
import os
3. 设置输入和输出目录
在开始批量修改图像分辨率之前,我们需要设置输入和输出目录。输入目录是包含待处理图像的文件夹路径,输出目录是保存处理后图像的文件夹路径。我们可以使用os
库来创建目录:
input_folder = 'input/'
output_folder = 'output/'
os.makedirs(output_folder, exist_ok=True)
4. 批量修改图像分辨率
现在,我们可以进行批量修改图像分辨率的操作了。我们可以使用cv2.resize()
方法来修改图像的分辨率。这个方法需要传入图像、目标宽度和目标高度。下面是一个示例代码:
for filename in os.listdir(input_folder):
if filename.endswith('.jpg') or filename.endswith('.png'):
image = cv2.imread(os.path.join(input_folder, filename))
resized_image = cv2.resize(image, (640, 480))
cv2.imwrite(os.path.join(output_folder, filename), resized_image)
上述代码遍历输入目录中的所有图像文件,判断是否以’.jpg’或’.png’结尾,然后使用cv2.resize()
方法修改图像的分辨率,并保存到输出目录中。
5. 结束语
通过使用Python的OpenCV库,我们可以很方便地实现批量修改图像分辨率的功能。只需设置输入和输出目录,并调用相应的函数,就能快速地批量处理图像数据。希望本文能帮助你更好地理解和使用Python的OpenCV库。
以下是一个小示例
import cv2
import os
path = r"C:\Users\lenovo\Desktop\gg" # 存放原图片的文件夹路径
list = os.listdir(path)
for index, i in enumerate(list):
path = r"C:\Users\lenovo\Desktop\gg\{}".format(i)
img = cv2.imread(path)
img = cv2.resize(img, (480, 640)) # 修改为480*640
path = r"C:\Users\lenovo\Desktop\kk\{}.jpg".format(index) # 处理后的图片文件夹路径
cv2.imwrite(path, img)