python 如何把包含图片和txt两种格式的文件重新命名并保存-yolo格式

原图:在这里插入图片描述
效果:
在这里插入图片描述


'''
批量重命名文件夹中的图片文件
'''

import os


class BatchRename():

    def __init__(self):
        self.path1 = r'E:\01_hjz\datas\facemask\mask10000_raw'  #原始文件夹路径,下面有图片和对应的txt,名称混乱

    # self.path2 = r'F:/fire_data/SSD_fire_data/firename/'

    def rename(self):
        filelist = os.listdir(self.path1)
        # print(filelist)
        total_num = len(filelist)
        print(total_num)
        i = 1
        j = 1
        #
        for item in filelist:
            if item.endswith('.txt'):
                src = os.path.join(os.path.abspath(self.path1), item)
                str1 = str(i)
                dst = os.path.join(os.path.abspath(self.path1), str1.zfill(6) + '.txt')  # str1.zfill(x),x为一共几位数,用0补齐,如001000

                try:
                    os.rename(src, dst)
                    print('converting %s to %s ...' % (src, dst))
                    i = i + 1
                except:
                    continue
                # print
                # 'total %d to rename & converted %d jpgs' % (total_num, i)
            if item.endswith('.jpg'):
                src = os.path.join(os.path.abspath(self.path1), item)
                str1 = str(j)
                dst = os.path.join(os.path.abspath(self.path1), str1.zfill(6) + '.jpg')  # str1.zfill(x),x为一共几位数,用0补齐,如001000

                try:
                    os.rename(src, dst)
                    print('converting %s to %s ...' % (src, dst))
                    j = j + 1
                except:
                    continue


if __name__ == '__main__':
    demo = BatchRename()
    demo.rename()

参考文章:
【python】批量重命名文件夹中的所有图片名称和文件夹中所有的txt文件
目标检测——口罩识别数据集

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用 Python 实现读取图片、随机打上水印并保存水印位置和图片的示例代码: ```python import cv2 import random def add_watermark(image, watermark_text): # 选择字体、字号、字体厚度等参数 font = cv2.FONT_HERSHEY_SIMPLEX font_scale = 1 font_thickness = 2 # 获取文字的大小 text_size, _ = cv2.getTextSize(watermark_text, font, font_scale, font_thickness) # 随机生成水印的位置 x = random.randint(0, image.shape[1] - text_size[0] - 10) y = random.randint(text_size[1] + 10, image.shape[0] - 10) # 在图片上添加水印 cv2.putText(image, watermark_text, (x, y), font, font_scale, (0, 0, 255), font_thickness) return (x, y) # 读取图片 image_path = 'image.jpg' image = cv2.imread(image_path) # 添加水印并保存水印位置 watermark_text = 'Watermark' watermark_position = add_watermark(image, watermark_text) # 保存图片 save_image_path = 'watermarked_image.jpg' cv2.imwrite(save_image_path, image) # 保存水印位置到 YOLO 格式的文本文件 save_txt_path = 'watermark_positions.txt' with open(save_txt_path, 'w') as f: f.write(f'{watermark_position[0]},{watermark_position[1]}') ``` 请确保您已经安装了 OpenCV 库(`pip install opencv-python`),并将代码中的 `image.jpg` 替换为您想要添加水印的图片路径。水印文本可以根据需要进行更改。最后,将生成的水印位置保存到 `watermark_positions.txt` 文件中,并将带有水印的图片保存为 `watermarked_image.jpg`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值