提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:这里可以添加本文要记录的大概内容:
这段代码是一个用于调整图像大小并重新命名的脚本,主要利用了OpenCV库进行图像的读取、调整大小和保存。
下面是对代码的详细解释:
提示:以下是本篇文章正文内容,下面案例可供参考
import cv2
import os
def resize_and_rename_images(input_folder, output_folder, target_size=(1280, 720)):
if not os.path.exists(output_folder):
os.makedirs(output_folder)
file_count = 0 # 添加计数器
for filename in os.listdir(input_folder):
if filename.endswith(('.jpg', '.jpeg', '.png')):
input_path = os.path.join(input_folder, filename)
# file_number = int(''.join(filter(str.isdigit, filename)))
output_path = os.path.join(output_folder, f'{file_count:06d}.jpg')
try:
# Read image
img = cv2.imread(input_path)
# Resize image
img_resized = cv2.resize(img, target_size)
# Save resized image with new name
cv2.imwrite(output_path, img_resized)
print(f'{filename} resized and renamed to {output_path}')
file_count += 1 # 更新计数器
except Exception as e:
print(f'Error processing {filename}: {e}')
if __name__ == "__main__":
input_folder = "/media/l/us_lane_video/151"
output_folder = "/media/l/us_lane_video/162"
resize_and_rename_images(input_folder, output_folder)
import cv2
import os
这里导入了OpenCV库和操作系统模块。
def resize_and_rename_images(input_folder, output_folder, target_size=(1280, 720)):
这个函数接受三个参数:
input_folder: 包含原始图像的文件夹路径。
output_folder: 保存调整大小后的图像的文件夹路径。
target_size: 目标图像大小,默认为 (1280, 720)。
if not os.path.exists(output_folder):
os.makedirs(output_folder)
如果输出文件夹不存在,则创建该文件夹。
file_count = 0
这个计数器用于为调整大小后的图像生成新的文件名。
for filename in os.listdir(input_folder):
使用 os.listdir 遍历输入文件夹中的所有文件。
if filename.endswith(('.jpg', '.jpeg', '.png')):
仅处理以 ‘.jpg’, ‘.jpeg’, 或 ‘.png’ 结尾的文件。
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, f'{file_count:06d}.jpg')
img = cv2.imread(input_path)
img_resized = cv2.resize(img, target_size)
构建输入和输出路径,读取图像并使用 cv2.resize 调整图像大小。
cv2.imwrite(output_path, img_resized)
使用 cv2.imwrite 保存调整大小后的图像。
print(f'{filename} resized and renamed to {output_path}')
file_count += 1
打印处理过程的信息,并更新计数器。
except Exception as e:
print(f'Error processing {filename}: {e}')
如果在处理图像时发生异常,打印错误信息。
if __name__ == "__main__":
input_folder = "/media/l/us_lane_video/151"
output_folder = "/media/l/us_lane_video/162"
resize_and_rename_images(input_folder, output_folder)
在这个例子中,指定了输入文件夹和输出文件夹的路径,然后调用 resize_and_rename_images 函数进行图像处理。
以上就是利用代码调整图像大小并对其进行重新命名,如有不足之处,还请大家斧正!!!