본문 바로가기

728x90

이미지

(4)
[이미지] CustomDataset [Python] - cv2, PIL 아직 모르는 게 많지만, 작성한 코드입니다. train 폴더 내에 label 이름별 폴더가 들어 있고, 그 내부에 이미지가 들어있는 구조입니다. test 폴더 같은 계층에 존재한다는 가정하에 향후 이용을 위해 train 폴더 상위 폴더에서 os.path.join으로 train을 더하고 os.walk로 내부 폴더와 파일명을 가져옵니다. for문을 돌려서 위치에 맞게 이미지 파일 경로와 라벨을 저장하고, 라벨은 학습을 위해 딕셔너리를 활용해 숫자로 변경합니다. 적절한 변형을 가한 후 window창을 띄워 확인합니다. import cv2 import os from PIL import Image import numpy as np from torch.utils.data import Dataset, DataLoad..
[이미지] 번호판 생성 [Python] - cv2, PIL 2006년 이전쯤 기준 차량 번호판 생성 도시와 문자 숫자를 랜덤으로 선택 높이, 너비 정보를 구하고 정보를 넣을 좌표 구하기 PIL 이미지로 문자를 이미지에 넣기 # 문자를 이미지에 넣기 위해 PIL 파일로 변환 과정 필요 # Image.fromarray()에 변경할 이미지를 입력 # 문자를 삽입하기 위해 ImageDraw.Draw()에 PIL 이미지로 변환된 파일을 입력 # draw.text()에 시작 좌표(가로, 세로), 문자, 색상, 폰트.. 등등을 입력 final_img = Image.fromarray(org_img) draw = ImageDraw.Draw(final_img) draw.text((450, 150), upper_str, (255,255,255), font=font_u) 번호판 10..
[이미지] Numpy로 이미지 처리 기초 [Python]-cv2 고양이 사진을 여러 구간으로 나누어 224x224 크기로 10개의 이미지를 만드는 과정 $($하나의 함수로 길게 만들었어요$)$ # 마구잡이로 자르면 고양이의 특징이 없는 이미지가 나올 수 있음 # 전체 이미지 비율을 유지하기 위해서 padding을 하고 # 어떻게 자르든 고양이의 특징이 나오도록 전체 이미지를 축소하고 # 랜덤하게 224x224 크기로 10번 crop 진행 from matplotlib import pyplot as plt import numpy as np import random import cv2 def pad_resize_crop(img, size): # 패딩할 상하/좌우 픽셀 # 상하나 좌우 중 한 세트에만 패딩을 할 예정 -> 초기 값: 0 # 상하좌우 모두 패딩을 하고 싶다면 ..
[통계] Day 2-2 데이터 분석 방법 데이터 분석의 다양한 방법과 도구 데이터 분석은 수많은 방법과 도구를 활용하여 다양한 유형의 데이터를 이해하고 해석하는 프로세스입니다. 다양한 데이터 유형에 대한 분석 기법을 알아보고, 그에 대한 간략한 설명을 제공하겠습니다. 수치형 데이터 분석 1. QQ-Plot: 정규 분포 가정을 확인하는 시각화 도구입니다. 분석 대상 데이터의 분포와 정규 분포의 이론적 분포를 비교하여 정규성을 판단합니다. 2. t-검정: 두 집단 간 평균 차이를 검정하는 통계적 방법입니다. 일반적으로 두 그룹의 평균이 유의미한 차이가 있는지 검증합니다. 예$)$ 두 가지 신약의 효과를 비교하고자 할 때 사용됩니다. 한 그룹에는 신약 A를, 다른 그룹에는 신약 B를 투여하고 각 그룹의 치료 효과를 비교하려고 합니다. t-검정을 통해..