- main_ColorIs.py 만들기
우선 기존에 리스트로 불러왔던 코드이다.
자 여기에 이전에 다중 선형 회귀 분석에서 사용했던 코드를 결합시켜서 for 문으로 돌려볼 생각이다.
for 문을 돌리는데 뭐가 잘 안된다.
c랑은 개념이 조금 다르다고 하는것 같다.
https://codingcoding.tistory.com/1103
이분 블로그를 참고하여 for문에서 리스트 인덱스와 인덱스 번호를 같이 쓸 수 있는 enumerate() 함수를 알아냈다.
이렇게 해서 다중 선형 회귀 분석에 필요한 x1, x2, x3 데이터 리스트를 저장하는데에 성공했다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
import numpy as np
from PIL import Image
import glob
import re
import os
ls = glob.glob('data/top/*.jpg')
#factor=ls[0]
#print(factor)
# data/top\1.jpg
x1_data_R = [0]*len(ls)
x2_data_G = [0]*len(ls)
x3_data_B = [0]*len(ls)
for i, path in enumerate(ls) :
factor=path
im = Image.open(factor)
rgb_im = im.convert('RGB')
r_list = [0]*8
g_list = [0]*8
b_list = [0]*8
r_list[0], g_list[0], b_list[0] = rgb_im.getpixel((15, 17))
r_list[1], g_list[1], b_list[1] = rgb_im.getpixel((35, 17))
r_list[2], g_list[2], b_list[2] = rgb_im.getpixel((15, 30))
r_list[3], g_list[3], b_list[3] = rgb_im.getpixel((35, 30))
r_list[4], g_list[4], b_list[4] = rgb_im.getpixel((15, 45))
r_list[5], g_list[5], b_list[5] = rgb_im.getpixel((35, 45))
r_list[6], g_list[6], b_list[6] = rgb_im.getpixel((15, 60))
r_list[7], g_list[7], b_list[7] = rgb_im.getpixel((35, 60))
r_AVG = sum(r_list, 0.0) / len(r_list)
g_AVG = sum(g_list, 0.0) / len(g_list)
b_AVG = sum(b_list, 0.0) / len(b_list)
x1_data_R[i] = r_AVG
x2_data_G[i] = g_AVG
x3_data_B[i] = b_AVG
print(x1_data_R)
print(len(x1_data_R))
#print('R:'+ str(r_AVG) + ' G:' + str(g_AVG) + ' B:' + str(b_AVG))
|
cs |
이렇게 해서
결과값 또한 확인하였다.
- Y 데이터는 일련번호로 가능할까?
내가 공부했던 다중선형회귀분석의 y 리스트는 한개였다. 이를 위해 rgb로 되어있는 하의 색깔을 색깔마다 일련번호를 매겨서 실험해볼 생각이다.
그러기 위해선 맨 처음 사용했던
색깔을 출력해주는 코드 https://github.com/cyanindy/howwasit/blob/main/OSS_dev_competition/color_perception.py
이것 과 해당 csv 파일이 필요하고
csv 파일을 수정해서 열을 추가하고 새로 추가한 열을 불러올 수 있게끔 해야겠다.
우선 지금 색깔에서 더 추가할껀데
무신사에 있는 이 색깔들을 이용할 생각이다.
약 50가지인데 뒤에있는 체크무늬 쪽부터는 제외하고 단색으로 되어있는 부분만 csv 파일에 추가해봐야겠다.
그리고 데이터 파일이 현재 33개인데 27개를 더 추가한 60장으로 실행해볼 생각이다.
흠 뒤에 데님, 연청, 중청, 흑청 색이 있는데.. 이건 어떻게 해야할까... 질감을 rgb로만 표현할 수 있을까..?
일단 그냥 색깔로만 넣어봐야겠다.
총 47개 색이 나왔고 rgb 값과 각각의 인덱스들을 입력해주었다.
자 이제 피팅모델 사진들의 바지에도 6개~8개 픽셀값을 잡아 평균을 내고, 그 평균값을 위의 csv 파일에서 찾아 행번호를 반환하는 코드를 짜보겠다.
- Y값 추출하기
음.. 육안으로 봤을때는 아이보리 색이지만 카키의 일련번호인 28이 출력되었다.
일단 이 코드를 그럼 다시 main_ColorIs.py에 합쳐서 Y값 리스트가 작성되는지 보자
이전에 공부했던 코드들을 모두 짜집기해서 비록 길지만 코드를 완성해봤다.
결과는
잘 추출되는것 같다.
이제 내일은 쉬고
토요일 내로 다중선형회귀를 실제로 돌려보고
x1,x2,x3 에 새로운 값을 넣으면 머신러닝한 결과로 y값을 예측해낼 수 있는지
시험해봐야겠다!
이제 9월9일이 제출일인데 주말동안 좀 바쁘게 굴러야겠네
'파이썬 > 공개SW 프로젝트' 카테고리의 다른 글
[공개SW - 메이킹 로그_18] 안드로이드 스튜디오 (0) | 2021.09.06 |
---|---|
[공개SW - 메이킹 로그_17] 본격적인 머신러닝 돌려보기2 (0) | 2021.09.06 |
[공개SW - 메이킹 로그_15] 자 다시 해보자.. (0) | 2021.08.30 |
[공개SW - 메이킹 로그_14] 도움! (0) | 2021.08.29 |
[공개SW - 메이킹 로그_13] 데이터셋 만들기 (0) | 2021.08.27 |