dilate
void cv::dilate(
Mat src,
Mat dst,
Mat kernel,
Point anchor = Point(-1,-1),
int iterations = 1,
int borderType = BORDER_CONSTANT,
const Scalar& borderValue = morphologyDefaultBorderValue()
)
void Cv2.Dilate(
Mat src,
Mat dst,
Mat element,
Point? anchor = null,
int iterations = 1,
BorderTypes borderType = BorderTypes.Constant,
Scalar? borderValue = null
)
dst = cv2.dilate(
src,
kernel,
anchor = None,
iterations = None,
borderType = None,
borderValue = None
)
Note:
팽창(Dilation)은 커널 영역 안에 존재하는 모든 픽셀의 값을 커널 내부의 극댓값(Local Maximum)으로 대체합니다.
Note:
팽창 연산을 적용하면 어두운 영역이 줄어들고 밝은 영역이 늘어납니다. 커널의 크기나 반복 횟수에 따라 밝은 영역이 늘어나 스펙클(Speckle)이 커지며 객체 내부의 홀(Holes)이 사라집니다.
-
-
입력 이미지(src)
는 CV_8U
형식, CV_16U
형식, CV_16S
형식, CV_32F
형식, CV_64F
형식을 할당할 수 있습니다.
-
출력 이미지(dst)
는 입력 이미지(src)
와 동일한 정밀도를 반환합니다.
Tip:
고정점(anchor)에 null 값이나 None 값을 사용하면 고정점의 위치는 (-1, -1)을 갖게 됩니다.
(-1, -1)은 커널의 중심부를 의미합니다.
팽창 계산식(Dilation Formula): $$ \text{dst}(x,\ y) = \max _{(i,\ j) \ \in \ \text{kernel}} \text{src} (x+i,\ y+j) $$
요약(Summary)
입력 이미지에 팽창 효과를 적용합니다.
매개변수(Parameter)
입력 이미지(src)
팽창 효과를 적용하려는 입력 이미지
출력 이미지(dst) 팽창 효과가 적용된 이미지
커널(kernel)
팽창 효과를 적용하려는 구조 요소
고정점(anchor)
콘벌루션(convolution) 연산을 적용하려는 지점
반복 횟수(iterations)
팽창 연산 반복 횟수
외삽 방식(borderType)
이미지 밖의 픽셀을 외삽하는데 사용되는 방식
외삽 색상(borderValue)
외삽된 픽셀의 색상
반환값(Returns)
출력 이미지(dst) 팽창 효과가 적용된 이미지