200113 TIL
14 Jan 2021이미지 가로 세로 크기 구하기
from PIL import Image
image = Image.open('image_file.phg')
width, height = image.size
이미지 내에서 일치하는 이미지를 찾기
opencv의 template matching를 사용한다.
import cv2
import numpy as np
img = cv2.imread('messi5.jpg',0) # 큰 거
img2 = img.copy()
template = cv2.imread('template.jpg',0) # 작은 거
res = cv2.matchTemplate(img,template,'cv2.TM_SQDIFF_NORMED')
이미지가 없으면 에러가 난다.
이런 방법 도 있다고 한다.
딕셔너리 내에서 키값 기준으로 최빈값 찾기
input_dict = {'A': 1963, 'B': 1963, 'C': 1964, 'D': 1964, 'E': 1964, 'F': 1965, 'G': 1965, 'H': 1966, 'I': 1967, 'J': 1967, 'K': 1968, 'L': 1969 ,'M': 1969, 'N': 1970}
collections
모듈을 사용하는 방법
from collections import Counter
value, count = Counter(input_dict.values()).most_common(1)[0]
다른 딕셔너리를 사용하는 방법
my_counter_dict = {}
for v in input_dict.values():
my_counter_dict[v] = my_counter_dict.get(v, 0)+1
# Value hold by `my_counter_dict`:
# {1963: 2, 1964: 3, 1965: 2, 1966: 1, 1967: 2, 1968: 1, 1969: 2, 1970: 1}
딕셔너리 없이 그냥 찾는 방법
values_list = list(input_dict.values())
max(set(values_list), key=values_list.count)
1964
PermissionError: [Errno 1] Operation not permitted:
PermissionError: [Errno 1] Operation not permitted:
에러를 마주칠 때가 있다. 이번 같은 경우는 os.remove()
에 파일이 아니라 폴더를 넣어서 그랬는데 폴더는 os.rmdir()
를 사용한다. if os.path.isdir()
를 미리 쓰면 될 듯.