看了好几篇博客。在使用他们的代码时,出现了各种各样的问题;在底下留言时,博主大多是充耳不闻。感觉CSDN的质量越来越次了,有时候真还不如直接问chatGPT呢。
要将labelme生成的JSON标记文件转换为PNG二值图像,只需运行labelme提供的官方程序labelme_json_to_dataset即可。当然,前提是你已经安装好labelme了哈。
labelme_json_to_dataset input.json -o output_directory
input.json是你要转换的JSON标记文件的路径,output_directory是输出PNG二值图像的目标文件夹路径。转换完成后,扩展名会变之外,文件名保持不变。
如果想批量转换,就需要自己手搓一个脚本,实质上就是循环使用上面的命令行。
import os
import subprocess
input_folder = "input_folder_path" # 输入文件夹路径,包含多个JSON标记文件
output_folder = "output_folder_path" # 输出文件夹路径,用于保存PNG图像
# 遍历输入文件夹中的JSON标记文件
for filename in os.listdir(input_folder):
if filename.endswith(".json"):
# 构建输入JSON文件的完整路径
input_path = os.path.join(input_folder, filename)
# 构建输出PNG图像文件的完整路径
output_filename = os.path.splitext(filename)[0] + ".png"
output_path = os.path.join(output_folder, output_filename)
# 使用labelme_json_to_dataset命令行工具进行转换
command = f"labelme_json_to_dataset {input_path} -o {output_path}"
subprocess.run(command, shell=True)
注意:运行命令时可能会出现一些warnings,不要被唬住了,忽略即可。