close

執行labelme2yolo,如果檔案名稱有中文會出現錯誤如下:

(yolov8) D:\waferData\waferShift\data>labelme2yolo --json_dir sandbox
Traceback (most recent call last):
File "C:\Users\USER\.conda\envs\yolov8\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\USER\.conda\envs\yolov8\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\USER\.conda\envs\yolov8\Scripts\labelme2yolo.exe\__main__.py", line 7, in <module>
File "C:\Users\USER\.conda\envs\yolov8\lib\site-packages\labelme2yolo\cli\__init__.py", line 63, in run
convertor = Labelme2YOLO(
File "C:\Users\USER\.conda\envs\yolov8\lib\site-packages\labelme2yolo\l2y.py", line 168, in __init__
self._label_id_map = get_label_id_map(self._json_dir)
File "C:\Users\USER\.conda\envs\yolov8\lib\site-packages\labelme2yolo\l2y.py", line 96, in get_label_id_map
data = json.load(open(json_path))
File "C:\Users\USER\.conda\envs\yolov8\lib\json\__init__.py", line 293, in load
return loads(fp.read(),
UnicodeDecodeError: 'cp950' codec can't decode byte 0xb8 in position 9959: illegal multibyte sequence

解決方法如下:

開啟C:\Users\USER\.conda\envs\yolov8\lib\site-packages\labelme2yolo\l2y.py

搜尋關鍵字open

在  open()  裡加上  encoding="utf-8"  即可解決。

修改前:

修改後

:

 繼續往下搜尋

 繼續往下搜尋

 繼續往下搜尋

 繼續往下搜尋

 

修改完成,存檔並重新轉檔

 

 

 

 

 

 

 

 

 

 

 

 

arrow
arrow
    全站熱搜

    me1237guy 發表在 痞客邦 留言(0) 人氣()