Toggle navigation
Toggle navigation
This project
Loading...
Sign in
이수빈
/
Find_your_own_personal_color
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
starbucksdolcelatte
2019-05-06 18:41:25 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
63da02ff9ea914800493f5b6b2af790772fc8be1
63da02ff
1 parent
3c3f32c7
Make it a class
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
58 deletions
get_std_from_xls.py
get_std_from_xls.py
View file @
63da02f
import
pandas
as
pd
df
=
pd
.
read_excel
(
'res/tone_color_standard.xlsx'
,
sheet_name
=
'original'
)
'''
코드에서 [1:5],[9:13]이 skin 이며 [:][0:3]이 spring의 rgb라는 등의 상수는
철저히 res/tone_color_standard.xlsx 파일 기준으로 작성된 것이며
다른 엑셀 문서에 대해서는 아래 함수가 작동하지 않을 수 있다.
만약 엑셀에 새로운 기준값을 추가하는 등의 변동사항이 생기면
이 코드 상의 상수도 적절히 변경해주어야 한다.
이 파이썬 코드는
엑셀에 정리된 색상 기준 값을 list로 변환하기 위해 작성되었으며
리스트는 아래와 같이 이루어져있다.
[standard_1[spr[r,g,b], smr[r,g,b], fal[r,g,b], wnt[r,g,b]].
standard_2[spr[r,g,b], smr[r,g,b], fal[r,g,b], wnt[r,g,b]],
standard_3[spr[r,g,b], smr[r,g,b], fal[r,g,b], wnt[r,g,b]],
...
standard_n[spr[r,g,b], smr[r,g,b], fal[r,g,b], wnt[r,g,b]]]
여기서 r,g,b 대신 [v,c]가 들어갈 수도, [l,a,b]가 들어갈 수도 있다.
'''
skin
=
pd
.
concat
([
df
[
1
:
5
],
df
[
9
:
13
]])
.
values
.
tolist
()
pupil
=
pd
.
concat
([
df
[
19
:
21
],
df
[
25
:
27
]])
.
values
.
tolist
()
hair
=
pd
.
concat
([
df
[
31
:
33
],
df
[
37
:
39
]])
.
values
.
tolist
()
# RGB values
def
get_rgb
(
list
):
ret_list
=
[]
for
i
in
range
(
len
(
list
)):
ret_list
.
append
([
list
[
i
][
0
:
3
],
list
[
i
][
9
:
12
],
list
[
i
][
18
:
21
],
list
[
i
][
27
:
30
]])
return
ret_list
# skin_rgb
skin_rgb
=
get_rgb
(
skin
)
for
x
in
skin_rgb
:
print
(
x
)
# VC values from HVC color space
def
get_vc
(
list
):
ret_list
=
[]
for
i
in
range
(
len
(
list
)):
ret_list
.
append
([
list
[
i
][
3
:
5
],
list
[
i
][
12
:
14
],
list
[
i
][
21
:
23
],
list
[
i
][
30
:
32
]])
return
ret_list
# skin_vc
skin_vc
=
get_vc
(
skin
)
for
x
in
skin_vc
:
print
(
x
)
# Lab values
def
get_lab
(
list
):
ret_list
=
[]
for
i
in
range
(
len
(
list
)):
ret_list
.
append
([
list
[
i
][
5
:
8
],
list
[
i
][
14
:
17
],
list
[
i
][
23
:
26
],
list
[
i
][
32
:
35
]])
return
ret_list
# skin_vc
skin_lab
=
get_lab
(
skin
)
for
x
in
skin_lab
:
print
(
x
)
class
ListFromExcel
:
df
=
None
skin
=
None
pupil
=
None
hair
=
None
def
__init__
(
self
,
path
):
self
.
df
=
pd
.
read_excel
(
path
,
sheet_name
=
'original'
)
self
.
skin
=
pd
.
concat
([
self
.
df
[
1
:
5
],
self
.
df
[
9
:
13
]])
.
values
.
tolist
()
self
.
pupil
=
pd
.
concat
([
self
.
df
[
19
:
21
],
self
.
df
[
25
:
27
]])
.
values
.
tolist
()
self
.
hair
=
pd
.
concat
([
self
.
df
[
31
:
33
],
self
.
df
[
37
:
39
]])
.
values
.
tolist
()
'''
코드에서 [1:5],[9:13]이 skin 이며 [:][0:3]이 spring의 rgb라는 등의 상수는
철저히 res/tone_color_standard.xlsx 파일 기준으로 작성된 것이며
다른 엑셀 문서에 대해서는 아래 함수가 작동하지 않을 수 있다.
만약 엑셀에 새로운 기준값을 추가하는 등의 변동사항이 생기면
이 코드 상의 상수도 적절히 변경해주어야 한다.
이 파이썬 코드는
엑셀에 정리된 색상 기준 값을 list로 변환하기 위해 작성되었으며
리스트는 아래와 같이 이루어져있다.
[standard_1[spr[r,g,b], smr[r,g,b], fal[r,g,b], wnt[r,g,b]].
standard_2[spr[r,g,b], smr[r,g,b], fal[r,g,b], wnt[r,g,b]],
standard_3[spr[r,g,b], smr[r,g,b], fal[r,g,b], wnt[r,g,b]],
...
standard_n[spr[r,g,b], smr[r,g,b], fal[r,g,b], wnt[r,g,b]]]
여기서 r,g,b 대신 [v,c]가 들어갈 수도, [l,a,b]가 들어갈 수도 있다.
'''
# RGB values
def
get_rgb
(
self
,
list
):
ret_list
=
[]
for
i
in
range
(
len
(
list
)):
ret_list
.
append
([
list
[
i
][
0
:
3
],
list
[
i
][
9
:
12
],
list
[
i
][
18
:
21
],
list
[
i
][
27
:
30
]])
return
ret_list
# VC values from HVC color space
def
get_vc
(
self
,
list
):
ret_list
=
[]
for
i
in
range
(
len
(
list
)):
ret_list
.
append
([
list
[
i
][
3
:
5
],
list
[
i
][
12
:
14
],
list
[
i
][
21
:
23
],
list
[
i
][
30
:
32
]])
return
ret_list
# Lab values
def
get_lab
(
self
,
list
):
ret_list
=
[]
for
i
in
range
(
len
(
list
)):
ret_list
.
append
([
list
[
i
][
5
:
8
],
list
[
i
][
14
:
17
],
list
[
i
][
23
:
26
],
list
[
i
][
32
:
35
]])
return
ret_list
...
...
Please
register
or
login
to post a comment