공부하기싫어
article thumbnail
  • main_ColorIs.py 만들기

우선 기존에 리스트로 불러왔던 코드이다.

자 여기에 이전에 다중 선형 회귀 분석에서 사용했던 코드를 결합시켜서 for 문으로 돌려볼 생각이다.

for 문을 돌리는데 뭐가 잘 안된다.

c랑은 개념이 조금 다르다고 하는것 같다.

https://codingcoding.tistory.com/1103

 

파이썬 for문(반복 루프) 사용법 12가지

Python for문을 활용한 루프 처리 방법을 설명합니다. 기본적인 문법 Python for문 기본 사용법 조건에 따라 중간 종료 : break 특정 요소 처리를 생략 : continue for 루프 완료 후 처리 : else for 문에서 사용

codingcoding.tistory.com

이분 블로그를 참고하여 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((1517))
    r_list[1], g_list[1], b_list[1= rgb_im.getpixel((3517))
    r_list[2], g_list[2], b_list[2= rgb_im.getpixel((1530))
    r_list[3], g_list[3], b_list[3= rgb_im.getpixel((3530))
    r_list[4], g_list[4], b_list[4= rgb_im.getpixel((1545))
    r_list[5], g_list[5], b_list[5= rgb_im.getpixel((3545))
    r_list[6], g_list[6], b_list[6= rgb_im.getpixel((1560))
    r_list[7], g_list[7], b_list[7= rgb_im.getpixel((3560))
 
    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

 

GitHub - cyanindy/howwasit: personal repository

personal repository. Contribute to cyanindy/howwasit development by creating an account on GitHub.

github.com

 

이것 과 해당 csv 파일이 필요하고

간단하게 만들어본 csv 파일 G열이 일련번호이다.

csv 파일을 수정해서 열을 추가하고 새로 추가한 열을 불러올 수 있게끔 해야겠다.

우선 지금 색깔에서 더 추가할껀데

출처 - 무신사

무신사에 있는 이 색깔들을 이용할 생각이다.

약 50가지인데 뒤에있는 체크무늬 쪽부터는 제외하고 단색으로 되어있는 부분만 csv 파일에 추가해봐야겠다.

 

그리고 데이터 파일이 현재 33개인데 27개를 더 추가한 60장으로 실행해볼 생각이다.

흠 뒤에 데님, 연청, 중청, 흑청 색이 있는데.. 이건 어떻게 해야할까... 질감을 rgb로만 표현할 수 있을까..?

일단 그냥 색깔로만 넣어봐야겠다.

 

총 47개 색이 나왔고 rgb 값과 각각의 인덱스들을 입력해주었다.

csv 파일에 값 입력
출력 확인

 

자 이제 피팅모델 사진들의 바지에도 6개~8개 픽셀값을 잡아 평균을 내고, 그 평균값을 위의 csv 파일에서 찾아 행번호를 반환하는 코드를 짜보겠다.

 

  • Y값 추출하기

28

음.. 육안으로 봤을때는 아이보리 색이지만 카키의 일련번호인 28이 출력되었다.

일단 이 코드를 그럼 다시 main_ColorIs.py에 합쳐서 Y값 리스트가 작성되는지 보자

이전에 공부했던 코드들을 모두 짜집기해서 비록 길지만 코드를 완성해봤다.

 

결과는

 

데이터 길이가 모두 60!
79,79,79
상의(198.169.125) 와 하의(79.79.79)

잘 추출되는것 같다.

이제 내일은 쉬고

토요일 내로 다중선형회귀를 실제로 돌려보고

x1,x2,x3 에 새로운 값을 넣으면 머신러닝한 결과로 y값을 예측해낼 수 있는지

시험해봐야겠다!

이제 9월9일이 제출일인데 주말동안 좀 바쁘게 굴러야겠네