λͺ¨μμ΄ν¬ μ²λ¦¬
μ¬μ§μ νΉμ μμμ λ§μ°μ€λ‘ μ ννλ©΄ κ·Έ μμμ λͺ¨μμ΄ν¬ μ²λ¦¬ν©λλ€.
μ리
νΉμ μμμ μκ² μΆμνλ€κ° λ€μ νλνλ©΄ μλμ ν½μ
κ³Ό λΉμ·νκΈ΄ νμ§λ§, 보κ°λ²μ μν΄μ μ°μ°ν κ²°κ³ΌλΌμ μ λͺ
λκ° λ¨μ΄μ Έ λΏμκ² λ³΄μ
λλ€.
보κ°λ² μκ³ λ¦¬μ¦μΌλ‘λ cv2.INTER_AREA λ₯Ό μ¬μ©νλ©΄ μ ν΄μλ ν½μ
μ²λΌ λ©λλ€.
import cv2
rate = 15 # λͺ¨μμ΄ν¬μ μ¬μ©ν μΆμ λΉμ¨ (1/rate)
win_title = 'mosaic' # μ°½ μ λͺ©
img = cv2.imread('../img/taekwonv1.jpg') # μ΄λ―Έμ§ μ½κΈ°
while True:
x,y,w,h = cv2.selectROI(win_title, img, False) # κ΄μ¬μμ μ ν
if w and h:
roi = img[y:y+h, x:x+w] # κ΄μ¬μμ μ§μ
roi = cv2.resize(roi, (w//rate, h//rate)) # 1/rate λΉμ¨λ‘ μΆμ
# μλ ν¬κΈ°λ‘ νλ
roi = cv2.resize(roi, (w,h), interpolation=cv2.INTER_AREA)
img[y:y+h, x:x+w] = roi # μλ³Έ μ΄λ―Έμ§μ μ μ©
cv2.imshow(win_title, img)
else:
break
cv2.destroyAllWindows()