labelme批量训练自己的数据集并批量二值化

本文介绍了如何使用Python脚本批量重命名label.png文件,并将其转换为二值图像。首先,脚本通过os库重命名图片,然后将所有子文件夹下的图片合并到一个总文件夹。接着,展示了如何使用OpenCV进行灰度处理和二值化操作。适合初学者了解图片处理基础。
摘要由CSDN通过智能技术生成

参考了很多大佬的文章。。。。。

运行配置参数形成json文件

 运行rename.py,放在文件夹外,此脚本将所有的label.png重命名为你原图的名字+.png

#-*-coding:utf-8-*-
# 把label.png改名为1.png
import os
for root, dirs, names in os.walk(r'process'):   # 改成你自己的json文件夹所在的目录
    for dr in dirs:
        file_dir = os.path.join(root, dr)
        # print(dr)
        file = os.path.join(file_dir, 'label.png')
        # print(file)
        new_name = dr.split('_')[0]  + '.png'
        new_file_name = os.path.join(file_dir, new_name)
        os.rename(file, new_file_name)

然后,将所有子文件夹下的图片复制到一个总文件夹下中,可参考:

# coding=utf-8
import os
import shutil

#目标文件夹,此处为相对路径,也可以改为绝对路径
determination = '/../../目标文件夹/'
if not os.path.exists(determination):
    os.makedirs(determination)

#源文件夹路径
path = '/../../源文件夹'
folders = os.listdir(path)
for folder in folders:
    dir = path + '/' + str(folder)
    files = os.listdir(dir)
    for file in files:
        source = dir + '/' + str(file)
        deter = determination + '/' + str(file)
        shutil.copyfile(source, deter)

效果如图,但是有其他类型图片,不知道怎么操作只保留label.png(小白一个)所以只能手动删掉了,如果有懂得大佬!!!麻烦留言评论下,感激不尽

批量转化为二值图,如图

import cv2
import os


def convert_png2seg(input_dir,output_dir):
    files = os.listdir(input_dir)
    for file in files:
        part = file.split('.')
        part0 = part[0]
        part1 = part[1]
        img = cv2.imread(input_dir+file)
        img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)

        retval, binary = cv2.threshold(img_gray, 5, 255, cv2.THRESH_BINARY)  #阈值处理
        cv2.imwrite(output_dir + part0 + '.' + part1, binary)


if __name__ == "__main__":
    input_dir = r"D:\box\edge/"
    output_dir = r"D:\box\output/"
    convert_png2seg(input_dir,output_dir)

仅供个人学习!!!:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值