반응형

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과 관련된 사이트들이다.

참고 사이트


반응형

'영상처리 프로젝트' 카테고리의 다른 글

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
반응형

Restart

이제 다시 2차 개발로 들어가야 할 시기이다.

1차에서 미비한 점들을 보완해서 개선된 결과물을 만들어 보려 한다.

1차 개발에서 마지막에 발목을 잡은 것은 성능 문제였다.

특히나 떨림보정에서 FPS가 많이 저하되었으며,

안개보정에서도 어느 정도 FPS 저하 현상이 발행하였다.

그래서, 2차 개발의 목표는 다음과 같이 설정하려 한다.

  • 떨림보정, 안개보정에서의 FPS향상
  • 객체 추적 보완

특히나, 이번에는 FPS향상을 위해서 GPU 및 병렬처리 등을 이용할 계획인데,

그러기 위해서는 OpenCV 환경을 다시 설정해야 한다.

따라서, 처음 한주는 새로운 환경 설정을 위해 사용할 것이고,

그 이후로는 각 1차와 마찬가지로 각 기능별 2주씩 잡을 것이다.

반응형

'영상처리 프로젝트' 카테고리의 다른 글

OpenCV 속도 개선 방법  (2) 2015.12.04
OpenCV를 이용한 Blurring, Sharpening  (0) 2015.08.21
1차 개선 완료  (0) 2015.07.21
안개보정 개선  (4) 2015.07.21
객체추적 개선  (0) 2015.07.21

+ Recent posts