본문 바로가기

728x90

plt

(3)
[이미지] 번호판 생성 [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로 이미지를 224x224 크기로 crop 하기 [Python]-cv2 from matplotlib import pyplot as plt import numpy as np import random import cv2 org_img = cv2.imread("./cat2.png")[:,:,::-1] plt.imshow(org_img) plt.title(f"original image") plt.show() def cropping(img): height, width = img.shape[:2] plt.figure(figsize=(10,5)) for i in range(10): # 가로, 세로의 crop할 시작점 crop_s_h = random.randint(0, height-224) crop_s_w = random.randint(0, width-224) # 시작점부터 가로, 세로가..
[이미지] Numpy로 이미지 패딩 후 224x224 resize 하기 [Python]-cv2 더보기 패딩 없이 resize만 하면 아래처럼 이미지가 뭉게집니다. import numpy as np import cv2 from matplotlib import pyplot as plt def resize_224x224(img): # 패딩할 상하/좌우 픽셀 # 상하나 좌우 중 한 세트에만 패딩을 할 예정 -> 초기 값: 0 # 상하좌우 모두 패딩을 하고 싶다면 # 0이 아닌 같은 값으로 넣은 후 # 이후 ud, lr 값을 업데이트할 때, # += 로 값을 더해주는 형식으로 하면 됨. ud, lr = (0, 0), (0, 0) # 이미지의 높이, 너비 중의 더 큰 값 M = max(img.shape[:2]) # s = 이미지의 높이와 너비의 차 s = img.shape[0]-img.shape[1] # 높..