关于yolo标注工具rolabelimg图片list按数字大小排序,而不是字典类型排序。
·
我们知道rolabelimg可以标注旋转的图片,但是当我打开image文件时有一个问题很是让我无语,我们知道标注的时候都是按照数值大小来排的,但是rolabelimg的排序很傻,而是按字典的首数字大小来排的,如图。

以下只是我个人的修改方法,大家可以参考,如果这对你来说不影响的话不用改就行。
1.首先找到rolabelimg项目文档中的roLabelImg.py

2.修改roLabelImg.py中的代码,找到scanAllImages这个函数,大概在1018行附近,将def scanAllImages下面的代码到下一个def函数之前(我这里下一个def函数是changeSavedir)全部修改为我下面的代码。
def scanAllImages(self, folderPath):
extensions = ['.jpeg', '.jpg', '.png', '.bmp']
images = []
for root, dirs, files in os.walk(folderPath):
for file in files:
if file.lower().endswith(tuple(extensions)):
relatviePath = os.path.join(root, file)
path = ustr(os.path.abspath(relatviePath))
images.append(path)
def extract_number(filename):
basename = os.path.basename(filename)
name_without_ext = os.path.splitext(basename)[0]
try:
return int(name_without_ext)
except ValueError:
return float('inf')
# 使用数字大小作为排序依据
return sorted(images, key=extract_number)
3.修改好之后,命令行进入roLabelImg-master这个文件夹,非常重要!输入python roLabelImg.py打开rolabelimg进入,可以看到修改成功!

总结:本人是一名即将毕业的实习生,还在学习阶段,第一次写文章,可能有些细节不够好,多多见谅,虽然这个问题很不起眼,但是希望也可以帮到有需要它的人,谢谢大家。
更多推荐
所有评论(0)