最近做图像分割需要用labelme做数据标注
由于任务比较特殊,新版本的labelme标注过程中由于点跟线的size比较大,导致label形状不平滑。修改了几次新版本控制点跟线的size,并没有什么用。查阅资料发现,原来是版本的问题。百思不得其解,参数都一样版本不一致导致修改不成功。知识盲区了,好在问题解决了。记录一下,非喜勿喷!首先搭建labelme的专属环境。
conda create -n labelme python=3.6
conda activate labelme
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple labelme==3.16.5
安装好了。去到anaconda下envs找到labelme
#举个栗子
C:\Users\Administrator\anaconda3\envs\labelme\Lib\site-packages\labelme\shape.py
修改一下参数
#控制点大小的参数
point_size = 1
scale = 1.0
#控制线粗细的参数
pen.setWidth(max(1, int(round(0.8 / self.scale))))
贴上修改后的代码
import copy
import math
from qtpy import QtCore
from qtpy import QtGui
import labelme.utils
# TODO(unknown):
# - [opt] Store paths instead of creating new ones at each paint.
DEFAULT_LINE_COLOR = QtGui.QColor(0, 255, 0, 128)
DEFAULT_FILL_COLOR = QtGui.QColor(255, 0, 0, 128)
DEFAULT_SELECT_LINE_COLOR = QtGui.QColor(255, 255, 255)
DEFAULT_SELECT_FILL_COLOR = QtGui.QColor(0, 128, 255, 155)
DEFAULT_VERTEX_FILL_COLOR = QtGui.QColor(0, 255, 0, 255)
DEFAULT_HVERTEX_FILL_COLOR = QtGui.QColor(255, 0, 0)
class Shape(object):
P_SQUARE, P_ROUND = 0, 1
MOVE_VERTEX, NEAR_VERTEX = 0, 1
# The following class variables influence the drawing of all shape objects.
line_color = DEFAULT_LINE_COLOR
fill_color = DEFAULT_FILL_COLOR
select_line_color = DEFAULT_SELECT_LINE_COLOR
select_fill_color = DEFAULT_SELECT_FILL_COLOR
vertex_fill_color = DEFAULT_VERTEX_FILL_COLOR
hvertex_fill_color = DEFAULT_HVERTEX_FILL_COLOR
point_type = P_ROUND
point_size = 1
scale = 1.0
def __init__(self, label=None, line_color=None, shape_type=None,
flags=None):
self.label = label
self.points = []
self.fill = False
self.selected = False
self.shape_type = shape_type
self.flags = flags
self._highlightIndex = None
self._highlightMode = self.NEAR_VERTEX
self._highlightSettings = {
self.NEAR_VERTEX: (4, self.P_ROUND),
self.MOVE_VERTEX: (1.5, self.P_SQUARE)

本文作者分享了解决LabelMe 3.16.5版本中点和线大小设置导致标注形状不平滑的问题经历,通过搭建专用环境并修改shape.py文件参数,详细记录了解决步骤。


被折叠的 条评论
为什么被折叠?



