이미지를 흑백으로 읽어 배열로 변환

2020. 2. 25. 18:47파이썬

파이썬이 익숙하지 못해서 나중에 복붙이라도 할려고...

 


import numpy as np
import cv2

import matplotlib.pyplot as plt

# Read image
im = cv2.imread( 'e:/...Path..../image.bmp', cv2.IMREAD_GRAYSCALE )

print(im.shape)

plt.imshow(im)

im = im.reshape(-1)
print(im.shape)

 

#또 다른 방법

from PIL import Image 
import numpy 
im = Image.open('저장경로').convert('L') 
data = numpy.asarray(im) 
print(data.shape)

 

#여러개 파일 일괄 변환

import os
import cv2
import numpy as np

path_dir = '경로'

file_list = os.listdir(path_dir)

#일부 파일만 하고 싶을 때
#file_count = len(file_list)
file_count = 10
image_size = 35344

images_arr = np.zeros((file_count, image_size))

#모든 파일을 변환하려면 이렇게 해도 됨
#for filename in file_list:
#    im =  cv2.imread( os.path.join(path_dir,filename), cv2.IMREAD_GRAYSCALE )

for i in range(file_count):
    im =  cv2.imread( os.path.join(path_dir,file_list[i]), cv2.IMREAD_GRAYSCALE )
    im = im.reshape(-1)
    im = im[np.newaxis]
    #print(file_list[i])
    print(im[0])
    images_arr[i] = im

#print(len(images_arr[file_list]))
print(images_arr[0:5])
print(images_arr.shape)

'파이썬' 카테고리의 다른 글

텍스트 파일2개로 나누기  (0) 2020.09.11
이미지 파일 하나씩 조회하기  (0) 2020.06.30
수치미분  (0) 2019.10.05
Matplotlib scatter/line graph  (0) 2019.09.29
Numpy 이것저것  (0) 2019.09.29