공부하기싫어
article thumbnail

지식인 + 스텍오버플로우 모두 질문에 대답이 달리지 않는다...

현재 다니고 있는 학교의 교수님께 질문을 드려보았는데...

 

요약하자면 import image의 함수를 지원하는 라이브러리의 기술문서를 참조하면 좋을 것 같다는 내용이였다!

 

그래서 바로 확인해봤다.

 

다 영어다 ㅅㅂ

 

찾았다

자 이제 image.open() 의 인수부분을 보자

 

번역기를 돌려보자

 

형식 - 파일을 로드하려고 시도하는 형식의 목록 또는 튜플. 이것은 확인된 형식 집합을 제한하는 데 사용할 수 있습니다. 지원되는 모든 형식을 시도하려면 None을 전달하십시오. python3 -m PIL을 실행하거나 PIL.features.pilinfo() 함수를 사용하여 사용 가능한 형식 세트를 인쇄할 수 있습니다.

 

음...

PIL.features.pilinfo() 를 구글링해보자

 

ㅋㅋ

그만하자

 

이후 교수님께서 늦은시간에 또한번 답장을 해주셧다.

너무 감사합니다...

답변을 요약해보자면

path에 존재하는 모든 파일을 리스트에 담아서 os 라이브러리를 사용해 읽을 수 있다는 내용였다.

오... 배열이 아닌 리스트 활용 + os 라이브러러 OK

 

  • 데이터셋을 포기하자

데이터셋은 포기한다.

사진 그냥 일일히 내가 직접 편집해서 전처리하고, 리스트로 한번 디렉토리안의 파일들의 rgb 값을 각 리스트에 담을 수 있는지 알아봐야겠다.

 

  • 디렉토리 안의 이미지를 리스트에 저장하여 rgb 값 추출하기!

 

https://ponyozzang.tistory.com/545

 

Python 파일 이름 일람 취득 glob 사용 예제

glob 모듈을 사용해 파일이나 폴더 이름을 리스트 또는 이터레이터로 취득하는 예제를 보겠습니다. 폴더 구성은 아래처럼 만들고 샘플 소스를 만들겠습니다. temp ├── 1.txt ├── 12.text ├──

ponyozzang.tistory.com

 

포뇨아빠님 블로그 글을 보고 glob 으로 디렉토리 안 파일들을 list 화 시킬 수 있는것을 알았다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import numpy as np
from PIL import Image
import glob
import re
import os
 
ls = glob.glob('data/top/*.jpg')
 
#print(ls)
# ['temp/[x].txt', 'temp/1.txt', 'temp/123.txt']
 
#print(type(ls))
# <class 'list'>
 
a=ls[0]
print(a)
# data/top\1.jpg
 
im = Image.open(a)
rgb_im = im.convert('RGB')
r,g,b = rgb_im.getpixel((1517))
 
print('R:'+ str(r) + ' G:' + str(g) + ' B:' + str(b))
cs

어머 세상에

성공이다

 

자 이제 평균을 뽑아보자

진짜 이걸 하려고 와..

결과값을 보고 가슴이 웅장해진다..

 

 

일단 오늘은 여까지하고 리눅스 공부하러가야겠다.

내일은 위 코드를 활용해서

for문을 이용하여 디렉토리안의 파일들의 결과값을 다중선형회귀분석에 사용할 x1_r, x2_g, x3_b 리스트에 저장하는걸 해봐야겠다.

지금 머리에는 어떻게 하면 되겠다 정도의 그림은 그려지고 있는데

리눅스도 급하고, 믹싱 외주 마무리도 해야하니깐