【代码---利用代码调整图像大小并对其进行重新命名】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

这段代码是一个用于调整图像大小并重新命名的脚本,主要利用了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)

详细解释

导入OpenCV库和os模块:

import cv2
import os

这里导入了OpenCV库和操作系统模块。

定义 resize_and_rename_images 函数:

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:

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 函数进行图像处理。


总结

以上就是利用代码调整图像大小并对其进行重新命名,如有不足之处,还请大家斧正!!!

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值