비식별화

이상우·2022년 9월 25일
0

"비식별화"란 데이터 값 삭제, 가명처리, 총계처리, 범주화. 데이터 마스킹 등을 통해 개인정보의 일부 또는 전부를 삭제하거나 대체함으로써 다른 정보와 쉽게 결합하여도 특정 개인을 식별할 수 없도록 하는 조치를 말합니다.
데이터 3법이 통과되면서, 4차 산업혁명 시대의 핵심 자원인 데이터 거래와 개인정보 유출 우려를 차단한 '가명정보'의 활요이 가능해짐으로써 비식별처리해 특정 개인을 알아볼 수 없게 할 필요가 있습니다.

python에서는 OpenCV를 이용해 이미지 비식별화 그리고 이미지 처리를 할 수 있습니다.
(아래를 통해 원본이미지를 다양하게 바꿀 수 있습니다.)

제가 이번에 진행할 이미지 비식별화 방법은 blur입니다.
blur는 이미지에 필터의 합성(2D convolution)을 통해 이미지 변형하는 방법입니다.
즉, 원본 이미지보다 크기가 작은 필터를 이미지 전체에 걸쳐 이동하며 원본 이미지의 픽셀값을 바꿉니다.

해당 하나의 번호판을 openCV를 통해서 blur처리를 해보도록 하겠습니다.

일단 image를 불러옵니다.

from PIL import Image
image = Image.open("해당이미지경로 및 파일이름.png")

이미지를 numpy array형태로 바꾸어주어야합니다.

import numpy as np
np_image = np.array(image)

def blur_area(image: np.ndarray, area_xywh, kernel_size=(20, 20)):
    x, y, width, height = area_xywh
    blurred_image = image.copy()

    region_of_interest = blurred_image[y:y + height, x:x + width]
    blurred_roi = cv2.blur(region_of_interest, ksize=kernel_size)

    blurred_image[y:y + height, x:x + width] = blurred_roi
    return blurred_image

profile
구상한것을 구현할 수 있는 개발자가 되고 싶습니다.

0개의 댓글