java 이미지 블러 처리하기!

메카 2017-01-10 (화) 14:42 7년전 5292  

안녕하세요 메카솔루션입니다.


이번에는 JAVA 에서 이미지를 블러 처리 하는 방법에 대해 알아보도록 하겠습니다.


블러 란?


흐림효과라고도 불리는데, 사진속 각 픽셀의 값을 주변값의 평균으로 계산하게 하여서 영상이 흐려지는 효과를 주는 것입니다.


사용하는 이유는 여러가지로, 포토샵에서 흔히들 쓰는 뽀샤시 효과도 한가지 예가 되고, 저해상도의 이미지를 흐리게 보이게 해서 어색함을 줄이기 위함도 있습니다.


  


(좌: 원래 이미지, 우: 블러된 이미지)


이러한 블러는 포토샵으로 수정 할 수 있지만 포토샵이 아니라 자동화가 필요하다면 JAVA같은 프로그래밍 언어를 통해서도 구현 할 수 있습니다.

(영상처리 라이브러리가 제공 된다면 어느 언어든 가능)


https://github.com/keepworking/java-Image-Blur


이번 강좌에서는 원리에 대한 설명이 위주가 되니 소스코든느 위 깃헙에서 참고 할 수 있습니다.


블러링의 원리는?


블러링을 구성하는 원리는 위에서 간단히 소개하였듯이 특정픽셀과 그 주위 값을 이용해 평균을 구하는 것입니다.


 


이러한 형식으로 이미지가 중심 값과 주위값이 구분없이 필터링이 된다면 이를 박스 블러 라고 부릅니다.


  


박스 블러를 통해서 필터링 된 이미지 의 경우 아주 원 형태를 알기 어려울 정도로 퍼지게 됩니다.


이때문에 약간 부자연 스러운 모습을 볼 수 있는데, 가우시안 블러는 좀더 자연스럽게 블러링이 가능합니다.


  


조금더 부드럽게 흐려진것 같지요?


가우시안 블러는 일반 블러와는 다르게 범위 내의 값을 모드 균등하게 계산하지 않고, 중앙일 수로 가중치 를 높여서 계산합니다.


 


그렇게 된다면 블러 효과를 주더라도 형태를 좀더 유지하면서 블러가 될 수 있는 것입니다.



감사합니다.



출처 : www.mechasolution.com


메카리워즈 Image Map


모바일 버전으로 보기