Image Blurring & Sharpening
Imaeg Sharpening은, 흐릿한 이미지를 보다 선명한 이미지로 개선해 주는
영상처리 기술이다.
반대로 Image Blurring은, 마치 안개라도 낀 것처럼
영상을 흐릿하게 해 주는 기술이다.
구현 방법은 여러가지가 있겠지만,
그중의 하나가, GaussianBlur를 이용하는 방법이다.
OpenCV 함수를 이용하여 다음과 같이 구현할 수 있다.
1. Image Blurring
void imgSharpening(cv::Mat& img, float sigma )
{
cv::Mat tmp;
cv::GaussianBlur(img, img, cv::Size(0,0), sigma );
※ sigma를 통해, 흐려지는 정도를 조절할 수 있다.
2. Image Sharpening
void imgSharpening(cv::Mat& img, float sigma)
{
cv::Mat tmp;
cv::GaussianBlur(img, tmp, cv::Size(0,0), sigma );
cv::addWeighted(img, 1.5, tmp, -0.5, 0, img);
}
※ 1. 이미지가 흐린 정도에 따라, sigma 값을 조절한다.
※ 2. 1.5, -0.5등의 계수 역시 이미지의 흐린 정도에 맞게 조절한다..
위의 두가지 예에서 알 수 있듯이, Image Sharpening은
선명한 이미지에 안개 등과 같은 흐린 레이어가 덧붙여졌다고 가정하고
덧붙여진 레이어를 제거하는 방법이다.
위 소스들을 테스트해 보면,
이미 흐려진 이미지를 원상태로 깨끗하게 되돌리기에는 한계가 있지만,
계수 조정을 통해 어느 정도 윤곽선이 뚜렷해 지는 것을 확인할 수 있다.
그리고 다음은, Image Deblurring과 관련된 사이트들이다.
참고 사이트
- http://yuzhikov.com/articles/BlurredImagesRestoration1.htm
- http://rosaec.snu.ac.kr/publish/2009/ID/ChLe-SIGGRAPH-2009.pdf
- http://blogs.mathworks.com/steve/2007/08/13/image-deblurring-introduction/
- http://jacobwinick.me/imagedeblurring/
'영상처리 프로젝트' 카테고리의 다른 글
HD 및 HDR의 이해 (0) | 2015.12.04 |
---|---|
OpenCV 속도 개선 방법 (2) | 2015.12.04 |
2차 개발 계획 (0) | 2015.07.22 |
1차 개선 완료 (0) | 2015.07.21 |
안개보정 개선 (4) | 2015.07.21 |