Add MORPH_DIAMOND support to samples and tutorials

This commit is contained in:
krikera
2025-06-27 21:09:53 +05:30
parent 5ee8919139
commit 27867cc72c
11 changed files with 42 additions and 16 deletions

View File

@@ -5,9 +5,9 @@ import argparse
src = None
erosion_size = 0
max_elem = 2
max_elem = 3
max_kernel_size = 21
title_trackbar_element_shape = 'Element:\n 0: Rect \n 1: Cross \n 2: Ellipse'
title_trackbar_element_shape = 'Element:\n 0: Rect \n 1: Cross \n 2: Ellipse \n 3: Diamond'
title_trackbar_kernel_size = 'Kernel size:\n 2n +1'
title_erosion_window = 'Erosion Demo'
title_dilation_window = 'Dilation Demo'
@@ -42,6 +42,8 @@ def morph_shape(val):
return cv.MORPH_CROSS
elif val == 2:
return cv.MORPH_ELLIPSE
elif val == 3:
return cv.MORPH_DIAMOND
## [erosion]

View File

@@ -5,10 +5,10 @@ import argparse
morph_size = 0
max_operator = 4
max_elem = 2
max_elem = 3
max_kernel_size = 21
title_trackbar_operator_type = 'Operator:\n 0: Opening - 1: Closing \n 2: Gradient - 3: Top Hat \n 4: Black Hat'
title_trackbar_element_type = 'Element:\n 0: Rect - 1: Cross - 2: Ellipse'
title_trackbar_element_type = 'Element:\n 0: Rect - 1: Cross - 2: Ellipse - 3: Diamond'
title_trackbar_kernel_size = 'Kernel size:\n 2n + 1'
title_window = 'Morphology Transformations Demo'
morph_op_dic = {0: cv.MORPH_OPEN, 1: cv.MORPH_CLOSE, 2: cv.MORPH_GRADIENT, 3: cv.MORPH_TOPHAT, 4: cv.MORPH_BLACKHAT}
@@ -24,6 +24,8 @@ def morphology_operations(val):
morph_elem = cv.MORPH_CROSS
elif val_type == 2:
morph_elem = cv.MORPH_ELLIPSE
elif val_type == 3:
morph_elem = cv.MORPH_DIAMOND
element = cv.getStructuringElement(morph_elem, (2*morph_size + 1, 2*morph_size+1), (morph_size, morph_size))
operation = morph_op_dic[morph_operator]