컨벌루션 신경망(CNN)의 훈련 데이터를 작성하는 툴을 만들어 보았다 - ①이미지 리사이즈
소개
프로그램
resize.py#!/usr/local/bin/python3
#!-*- coding: utf-8 -*-
import argparse
import os
import cv2
import numpy as np
def resizeImages(input_dir, output_dir):
files = os.listdir(input_dir)
for file in files:
name, ext = os.path.splitext(file)
if ext != '.jpg':
print('[' + file + ']: 不正なファイルが含まれています。')
img = cv2.imread(
os.path.join(input_dir, file),
cv2.IMREAD_COLOR
)
tmp = img[:, :]
height, width = img.shape[:2]
if (height > width):
size = height
limit = width
else:
size = width
limit = height
start = int((size - limit) / 2)
fin = int((size + limit) / 2)
resized_img = cv2.resize(np.zeros((1, 1, 3), np.uint8), (size, size))
if (size == height):
resized_img[:, start:fin] = tmp
else:
resized_img[start:fin, :] = tmp
cv2.imwrite(
os.path.join(output_dir, file),
resized_img
)
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--input_dir', default='original')
parser.add_argument('--output_dir', default='resized')
args = parser.parse_args()
resizeImages(args.input_dir, args.output_dir)
if __name__ == '__main__':
main()
실행 결과
Reference
이 문제에 관하여(컨벌루션 신경망(CNN)의 훈련 데이터를 작성하는 툴을 만들어 보았다 - ①이미지 리사이즈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/neriai/items/5e9ee66e7bd676057ed3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#!/usr/local/bin/python3
#!-*- coding: utf-8 -*-
import argparse
import os
import cv2
import numpy as np
def resizeImages(input_dir, output_dir):
files = os.listdir(input_dir)
for file in files:
name, ext = os.path.splitext(file)
if ext != '.jpg':
print('[' + file + ']: 不正なファイルが含まれています。')
img = cv2.imread(
os.path.join(input_dir, file),
cv2.IMREAD_COLOR
)
tmp = img[:, :]
height, width = img.shape[:2]
if (height > width):
size = height
limit = width
else:
size = width
limit = height
start = int((size - limit) / 2)
fin = int((size + limit) / 2)
resized_img = cv2.resize(np.zeros((1, 1, 3), np.uint8), (size, size))
if (size == height):
resized_img[:, start:fin] = tmp
else:
resized_img[start:fin, :] = tmp
cv2.imwrite(
os.path.join(output_dir, file),
resized_img
)
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--input_dir', default='original')
parser.add_argument('--output_dir', default='resized')
args = parser.parse_args()
resizeImages(args.input_dir, args.output_dir)
if __name__ == '__main__':
main()
Reference
이 문제에 관하여(컨벌루션 신경망(CNN)의 훈련 데이터를 작성하는 툴을 만들어 보았다 - ①이미지 리사이즈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/neriai/items/5e9ee66e7bd676057ed3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)