2017-11-16 1 views
0

SVG Morphology 필터 용 확장 필터를 구현하려고합니다.SVG Morphology 필터 용 확장 필터 구현

문서에 따르면 팽창 (또는 침식) 커널은 너비가 2 * x- 반경이고 높이가 2 * y- 반경 인 직사각형입니다. 확장에서 출력 픽셀은 입력 이미지의 커널 사각형에서 해당하는 R, G, B, A 값의 개별 구성 요소 별 최대 값입니다.

https://www.w3.org/TR/SVG/filters.html#feMorphologyElement

난 정말이 경우 커널해야한다 무엇을 찾을 수 없습니다. 포인터 좀 주시겠습니까?

입력 이미지의 각 픽셀에 대해 영역 이하의 로컬 최대 값을 찾는 것과 실제로 동일합니까? R, G, B 및 A. 각각의 최대 값을 추적 사각형 내의 모든 픽셀을 통해

int startX = std::max(pixelCordX - radiusX, 0); 
    int endX = std::min(pixelCordX + radiusX, width - 1); 
    int = std::max(pixelCordY - radiusY, 0); 
    int endY = std::min(pixelCordY + radiusY, height - 1); 

    outputPixel(pixelCordX , pixelCordY ) = ComputeMaxMin(image[][], startX, endX, startY, endY); 

답변

2

루프는 단일 컬러 값에 각 성분의 최대 값을 결합하고, 중심 것을 확인 픽셀 색상.