Non Maximum Suppression, NMS

1 개요

Non Maximum Suppression 알고리즘을 이용하여 이미지의 윤곽을 찾아내는 알고리즘입니다.

2 알고리즘 상세 설명

Sobel 또는 Prewitt 미분 필터링 후, 활성화된 경계의 방향을 고려하여 국소적인 극대값만을 유지해 이미지의 윤곽을 찾아내는 알고리즘입니다.

Grayscale 옵션을 통해 회색조 방식의 출력 여부를 설정할 수 있습니다.

다른 Edge Detector 알고리즘과 달리 임계값(Threshold) 처리를 수행하지 않으므로, 이진화되지 않은 연속적인 수치가 출력됩니다.

Source Image Destination Image
Source Image Destination Image
Fig. Source and Destination images of Non Maximum Suppression

3 파라미터 설정 및 사용 방법

동작을 위한 최소한의 기본 설정 파라미터는 아래와 같습니다.

4 예제 코드

CNonMaximumSuppression nonMaximumSuppression;

CFLImage fliSourceImage;
CFLImage fliDestinationImage;

nonMaximumSuppression.SetSourceImage(fliSourceImage);
nonMaximumSuppression.SetDestinationImage(fliDestinationImage);
nonMaximumSuppression.SetFilter(CNonMaximumSuppression::EFilter_Sobel);
nonMaximumSuppression.SetNMSInterpolationMethod(CNonMaximumSuppression::ENMSInterpolationMethod_NearestNeighbor);
nonMaximumSuppression.SetConflictHandlingMethod(CNonMaximumSuppression::EConflictHandlingMethod_KeepAll);
nonMaximumSuppression.EnableGrayscale(false);

nonMaximumSuppression.Execute();
CNonMaximumSuppression nonMaximumSuppression = new CNonMaximumSuppression();

CFLImage fliSourceImage = new CFLImage();
CFLImage fliDestinationImage = new CFLImage();

nonMaximumSuppression.SetSourceImage(ref fliSourceImage);
nonMaximumSuppression.SetDestinationImage(ref fliDestinationImage);
nonMaximumSuppression.SetFilter(CNonMaximumSuppression.EFilter.Sobel);
nonMaximumSuppression.SetNMSInterpolationMethod(CNonMaximumSuppression.ENMSInterpolationMethod.NearestNeighbor);
nonMaximumSuppression.SetConflictHandlingMethod(CNonMaximumSuppression.EConflictHandlingMethod.KeepAll);
nonMaximumSuppression.EnableGrayscale(false);

nonMaximumSuppression.Execute();
nonMaximumSuppression = CNonMaximumSuppression()

fliSourceImage = CFLImage()
fliDestinationImage = CFLImage()

nonMaximumSuppression.SetSourceImage(fliSourceImage)
nonMaximumSuppression.SetDestinationImage(fliDestinationImage)
nonMaximumSuppression.SetFilter(CNonMaximumSuppression.EFilter.Sobel)
nonMaximumSuppression.SetNMSInterpolationMethod(CNonMaximumSuppression.ENMSInterpolationMethod.NearestNeighbor)
nonMaximumSuppression.SetConflictHandlingMethod(CNonMaximumSuppression.EConflictHandlingMethod.KeepAll)
nonMaximumSuppression.EnableGrayscale(False)

nonMaximumSuppression.Execute()

5 기타 사항

Supported Feature

Supported Format