Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
27号BigBang
labelme
提交
cbc34940
L
labelme
项目概览
27号BigBang
/
labelme
与 Fork 源项目一致
从无法访问的项目Fork
通知
6
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
labelme
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
cbc34940
编写于
8月 03, 2018
作者:
K
Kentaro Wada
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fill drawing shape by a pale color
上级
c69d1899
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
31 addition
and
13 deletion
+31
-13
labelme/app.py
labelme/app.py
+11
-0
labelme/shape.py
labelme/shape.py
+5
-5
labelme/widgets/canvas.py
labelme/widgets/canvas.py
+15
-8
未找到文件。
labelme/app.py
浏览文件 @
cbc34940
...
@@ -309,6 +309,16 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
...
@@ -309,6 +309,16 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
shapeFillColor
=
action
(
shapeFillColor
=
action
(
'Shape &Fill Color'
,
self
.
chshapeFillColor
,
icon
=
'color'
,
'Shape &Fill Color'
,
self
.
chshapeFillColor
,
icon
=
'color'
,
tip
=
'Change the fill color for this specific shape'
,
enabled
=
False
)
tip
=
'Change the fill color for this specific shape'
,
enabled
=
False
)
fill_drawing
=
action
(
'Fill Drawing Polygon'
,
lambda
x
:
self
.
canvas
.
setFillDrawing
(
x
),
None
,
'color'
,
'Fill polygon while drawing'
,
checkable
=
True
,
enabled
=
True
,
)
fill_drawing
.
setChecked
(
True
)
# Lavel list context menu.
# Lavel list context menu.
labelMenu
=
QtWidgets
.
QMenu
()
labelMenu
=
QtWidgets
.
QMenu
()
...
@@ -379,6 +389,7 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
...
@@ -379,6 +389,7 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
save
,
saveAs
,
close
,
None
,
quit
))
save
,
saveAs
,
close
,
None
,
quit
))
addActions
(
self
.
menus
.
help
,
(
help
,))
addActions
(
self
.
menus
.
help
,
(
help
,))
addActions
(
self
.
menus
.
view
,
(
addActions
(
self
.
menus
.
view
,
(
fill_drawing
,
None
,
hideAll
,
showAll
,
None
,
hideAll
,
showAll
,
None
,
zoomIn
,
zoomOut
,
zoomOrg
,
None
,
zoomIn
,
zoomOut
,
zoomOrg
,
None
,
fitWindow
,
fitWidth
))
fitWindow
,
fitWidth
))
...
...
labelme/shape.py
浏览文件 @
cbc34940
import
copy
from
qtpy
import
QtGui
from
qtpy
import
QtGui
import
labelme.utils
import
labelme.utils
...
@@ -174,14 +176,12 @@ class Shape(object):
...
@@ -174,14 +176,12 @@ class Shape(object):
def
copy
(
self
):
def
copy
(
self
):
shape
=
Shape
(
self
.
label
)
shape
=
Shape
(
self
.
label
)
shape
.
points
=
[
p
for
p
in
self
.
points
]
shape
.
points
=
[
copy
.
deepcopy
(
p
)
for
p
in
self
.
points
]
shape
.
fill
=
self
.
fill
shape
.
fill
=
self
.
fill
shape
.
selected
=
self
.
selected
shape
.
selected
=
self
.
selected
shape
.
_closed
=
self
.
_closed
shape
.
_closed
=
self
.
_closed
if
self
.
line_color
!=
Shape
.
line_color
:
shape
.
line_color
=
copy
.
deepcopy
(
self
.
line_color
)
shape
.
line_color
=
self
.
line_color
shape
.
fill_color
=
copy
.
deepcopy
(
self
.
fill_color
)
if
self
.
fill_color
!=
Shape
.
fill_color
:
shape
.
fill_color
=
self
.
fill_color
return
shape
return
shape
def
__len__
(
self
):
def
__len__
(
self
):
...
...
labelme/widgets/canvas.py
浏览文件 @
cbc34940
...
@@ -33,6 +33,8 @@ class Canvas(QtWidgets.QWidget):
...
@@ -33,6 +33,8 @@ class Canvas(QtWidgets.QWidget):
# polygon, rectangle, line, or point
# polygon, rectangle, line, or point
_createMode
=
'polygon'
_createMode
=
'polygon'
_fill_drawing
=
False
def
__init__
(
self
,
*
args
,
**
kwargs
):
def
__init__
(
self
,
*
args
,
**
kwargs
):
self
.
epsilon
=
kwargs
.
pop
(
'epsilon'
,
11.0
)
self
.
epsilon
=
kwargs
.
pop
(
'epsilon'
,
11.0
)
super
(
Canvas
,
self
).
__init__
(
*
args
,
**
kwargs
)
super
(
Canvas
,
self
).
__init__
(
*
args
,
**
kwargs
)
...
@@ -70,6 +72,12 @@ class Canvas(QtWidgets.QWidget):
...
@@ -70,6 +72,12 @@ class Canvas(QtWidgets.QWidget):
self
.
setMouseTracking
(
True
)
self
.
setMouseTracking
(
True
)
self
.
setFocusPolicy
(
QtCore
.
Qt
.
WheelFocus
)
self
.
setFocusPolicy
(
QtCore
.
Qt
.
WheelFocus
)
def
fillDrawing
(
self
):
return
self
.
_fill_drawing
def
setFillDrawing
(
self
,
value
):
self
.
_fill_drawing
=
value
@
property
@
property
def
createMode
(
self
):
def
createMode
(
self
):
return
self
.
_createMode
return
self
.
_createMode
...
@@ -486,14 +494,13 @@ class Canvas(QtWidgets.QWidget):
...
@@ -486,14 +494,13 @@ class Canvas(QtWidgets.QWidget):
if
self
.
selectedShapeCopy
:
if
self
.
selectedShapeCopy
:
self
.
selectedShapeCopy
.
paint
(
p
)
self
.
selectedShapeCopy
.
paint
(
p
)
if
(
if
(
self
.
fillDrawing
()
and
self
.
createMode
==
'polygon'
and
self
.
createMode
==
'polygon'
and
self
.
current
is
not
None
and
self
.
current
is
not
None
and
len
(
self
.
current
.
points
)
>=
2
):
len
(
self
.
current
.
points
)
>=
2
drawing_shape
=
self
.
current
.
copy
()
):
drawing_shape
.
addPoint
(
self
.
line
[
1
])
realTimeShape
=
self
.
current
.
copy
()
drawing_shape
.
fill
=
True
realTimeShape
.
addPoint
(
self
.
line
[
1
])
drawing_shape
.
fill_color
.
setAlpha
(
64
)
realTimeShape
.
fill
=
True
drawing_shape
.
paint
(
p
)
realTimeShape
.
paint
(
p
)
p
.
end
()
p
.
end
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录