16.6.1 Generalized Hough Transform

1 개요

Generalized Hough Transform 알고리즘은 허프 변환을 통해 사용자가 지정한 도형을 검출하는 알고리즘 입니다.

2 알고리즘 상세 설명

알고리즘 동작 결과
원본대상 이미지 및 검출 도형 결과검사 결과
검출된 도형 결과

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

4 예제 코드

CGeneralizedHoughTransform generalizedHoughTransform;

CFLImage fliSourceImage;
generalizedHoughTransform.SetSourceImage(fliSourceImage);

CFLCircle<int64_t> flfPatternROI(400, 520, 49, 0, 0, 360, EArcClosingMethod_EachOther);
generalizedHoughTransform.SetPatternROI(&flfPatternROI);
generalizedHoughTransform.SetPixelThreshold(128);
generalizedHoughTransform.SetConfidence(0.6);
generalizedHoughTransform.SetAngleTolerance(45);
generalizedHoughTransform.SetScaleTolerance(10);
generalizedHoughTransform.SetMaxCount(10);
generalizedHoughTransform.Execute();

CFLFigureArray flfaDetectedObjects;
generalizedHoughTransform.GetDetectedObjects(flfaDetectedObjects);
CGeneralizedHoughTransform generalizedHoughTransform = new CGeneralizedHoughTransform();

CFLImage fliSourceImage = new CFLImage();
generalizedHoughTransform.SetSourceImage(fliSourceImage);

CFLCircle<long> flfPatternROI = new CFLCircle<long>(400, 520, 49, 0, 0, 360, EArcClosingMethod.EachOther);
generalizedHoughTransform.SetPatternROI(flfPatternROI);
generalizedHoughTransform.SetPixelThreshold(128);
generalizedHoughTransform.SetConfidence(0.6);
generalizedHoughTransform.SetAngleTolerance(45);
generalizedHoughTransform.SetScaleTolerance(10);
generalizedHoughTransform.SetMaxCount(10);
generalizedHoughTransform.Execute();

CFLFigureArray flfaDetectedObjects = new CFLFigureArray();
generalizedHoughTransform.GetDetectedObjects(flfaDetectedObjects);
generalizedHoughTransform = CGeneralizedHoughTransform()

fliSourceImage = CFLImage()
generalizedHoughTransform.SetSourceImage(fliSourceImage)

flfPatternROI = CFLCircle[int](400, 520, 49, 0, 0, 360, EArcClosingMethod.EachOther)
generalizedHoughTransform.SetPatternROI(flfPatternROI)
generalizedHoughTransform.SetPixelThreshold(128)
generalizedHoughTransform.SetConfidence(0.6)
generalizedHoughTransform.SetAngleTolerance(45)
generalizedHoughTransform.SetScaleTolerance(10)
generalizedHoughTransform.SetMaxCount(10)
generalizedHoughTransform.Execute()

flfaDetectedObjects = CFLFigureArray()
generalizedHoughTransform.GetDetectedObjects(flfaDetectedObjects)