영상처리/기타

영상 잡음 삽입하기(Salt and pepper)

미노츄레이 2023. 3. 14. 14:57

깊이 영상을 최적화하면서 영상에 잡음을 넣고 실험해보기 위해 만들었다.

궁극적 목표는 잡음이 들어간 영상이 Smoothness 를 먹였을 때 얼마나 좋아지는 지 확인하기 위함이다.

 

PIL 이미지를 입력으로 사용했을 경우에 해당된다.

def salt_and_pepper(img, prob):
    out = np.copy(np.array(img))
    
    intensity_levels = 2 ** (out[0, 0].nbytes * 8)
    min_intensity = 0
    max_intensity = intensity_levels - 1
    random_image_arr = np.random.choice([min_intensity, 1],
                                        size=out.shape,
                                        p=[prob, 1 - prob],
                                        )
    out = out.astype(float) * random_image_arr
    return Image.fromarray(out)

실행

from PIL import Image

if __name__ == __main__:
    img = Image.open('image.png')
    img_noise = salt_and_pepper(img, prob=0.05)

결과

Input
Output