티스토리 뷰

반응형

먼저, 위성사진을 딥러닝 모델에 적합한 형태로 변환하기 위해서는 필요한 라이브러리들을 설치해야 합니다. 주로 사용되는 라이브러리들은 다음과 같습니다.

pip install numpy
pip install opencv-python
pip install Pillow
pip install tensorflow

이제 위성사진을 딥러닝 모델에 적합한 형태로 변환하는 파이썬 코드를 작성해보겠습니다.

import os
import numpy as np
import cv2
from PIL import Image
import tensorflow as tf

def load_images(input_folder, width, height):
    images = []
    file_list = os.listdir(input_folder)

    for filename in file_list:
        img_path = os.path.join(input_folder, filename)
        img = Image.open(img_path)
        img_resized = img.resize((width, height), Image.ANTIALIAS)
        img_array = np.array(img_resized)
        images.append(img_array)

    return np.array(images)

def preprocess_images(images):
    preprocessed_images = images.astype('float32')
    preprocessed_images /= 255.0
    return preprocessed_images

def main():
    input_folder = "satellite_images"
    output_width = 256
    output_height = 256

    images = load_images(input_folder, output_width, output_height)
    preprocessed_images = preprocess_images(images)

    # 딥러닝 모델에 이용할 수 있는 형태로 이미지 데이터를 저장합니다.
    np.save("preprocessed_satellite_images.npy", preprocessed_images)

if __name__ == "__main__":
    main()

위 코드는 다음과 같은 과정을 수행합니다:

  1. load_images 함수에서 입력 폴더의 모든 이미지 파일을 읽어들여, 지정한 너비와 높이로 크기를 조정합니다.
  2. preprocess_images 함수에서 이미지 데이터를 정규화하여 딥러닝 모델에 적합한 형태로 변환합니다. (0과 1 사이의 값으로 스케일링)
  3. 최종적으로 변환된 이미지 데이터를 .npy 형식의 파일로 저장합니다.

이렇게 변환된 데이터를 이용해 딥러닝 모델을 학습시킬 수 있습니다.

반응형
댓글