我有一个由 Labelme 工具生成为 JSON 文件的图像掩码数据集,在 Github 教程(https://github.com/wkentaro/labelme/tree/master/examples/tutorial)上它显示更改 JSON 文件进入图像文件,我们使用以下命令行代码
labelme_json_to_dataset apc2016_obj3.json -o apc2016_obj3_json
但是这一次只适用于一个文件,所以我一直在尝试找到一种使用一组代码处理所有文件的方法,我尝试了以下代码
setlocal
set "yourDir=C:\Users\Acer\Desktop\datasets\combined masks\"
set "yourExt=*.json"
pushd %yourDir%
for %%a in (*%yourExt%)do labelme_json_to_dataset %%a -o %%a
popd
endlocal
该代码现在通过读取文件名并添加文件扩展名 .json 来工作,但是,将文件保存到具有相同名称的目录(包括 .json 扩展名)会给我以下错误
Traceback (most recent call last):
File "c:\users\acer\.conda\envs\labelme\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\users\acer\.conda\envs\labelme\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\ACER\.conda\envs\labelme\Scripts\labelme_json_to_dataset.exe\__main__.py", line 7, in <module>
File "c:\users\acer\.conda\envs\labelme\lib\site-packages\labelme\cli\json_to_dataset.py", line 65, in main
PIL.Image.fromarray(img).save(osp.join(out_dir, 'img.png'))
File "c:\users\acer\.conda\envs\labelme\lib\site-packages\PIL\Image.py", line 2131, in save
fp = builtins.open(filename, "w+b")
FileNotFoundError: [Errno 2] No such file or directory: '000828.json\\img.png'
我不熟悉 cmd,需要帮助将输出保存到文件名不带 .json 扩展名的目录
下面是一个单个文件示例,它显示了成功运行应该是什么样子 在此处输入图像描述
(labelme) C:\Users\ACER\Desktop\datasets\combined masks>labelme_json_to_dataset 000814.json -o 000814
[[1m[33mWARNING[0m] [36mjson_to_dataset[0m:[36mmain[0m:[36m15[0m - [1m[33mThis script is aimed to demonstrate how to convert the JSON file to a single image dataset.[0m
[[1m[33mWARNING[0m] [36mjson_to_dataset[0m:[36mmain[0m:[36m17[0m - [1m[33mIt won't handle multiple JSON files to generate a real-use dataset.[0m
[[1m[37mINFO [0m] [36mjson_to_dataset[0m:[36mmain[0m:[36m73[0m - [1m[37mSaved to: 000814[0m
(labelme) C:\Users\ACER\Desktop\datasets\combined masks>
海绵宝宝撒
阿晨1998
largeQ
SMILET
相关分类