mirror of
https://github.com/opencv/opencv.git
synced 2026-07-25 21:33:04 +04:00
Merge branch 4.x
This commit is contained in:
+5
-5
@@ -45,20 +45,20 @@ channels = [0, 1]
|
||||
|
||||
## [Calculate the histograms for the HSV images]
|
||||
hist_base = cv.calcHist([hsv_base], channels, None, histSize, ranges, accumulate=False)
|
||||
cv.normalize(hist_base, hist_base, alpha=0, beta=1, norm_type=cv.NORM_MINMAX)
|
||||
cv.normalize(hist_base, hist_base, alpha=1, beta=0, norm_type=cv.NORM_L1)
|
||||
|
||||
hist_half_down = cv.calcHist([hsv_half_down], channels, None, histSize, ranges, accumulate=False)
|
||||
cv.normalize(hist_half_down, hist_half_down, alpha=0, beta=1, norm_type=cv.NORM_MINMAX)
|
||||
cv.normalize(hist_half_down, hist_half_down, alpha=1, beta=0, norm_type=cv.NORM_L1)
|
||||
|
||||
hist_test1 = cv.calcHist([hsv_test1], channels, None, histSize, ranges, accumulate=False)
|
||||
cv.normalize(hist_test1, hist_test1, alpha=0, beta=1, norm_type=cv.NORM_MINMAX)
|
||||
cv.normalize(hist_test1, hist_test1, alpha=1, beta=0, norm_type=cv.NORM_L1)
|
||||
|
||||
hist_test2 = cv.calcHist([hsv_test2], channels, None, histSize, ranges, accumulate=False)
|
||||
cv.normalize(hist_test2, hist_test2, alpha=0, beta=1, norm_type=cv.NORM_MINMAX)
|
||||
cv.normalize(hist_test2, hist_test2, alpha=1, beta=0, norm_type=cv.NORM_L1)
|
||||
## [Calculate the histograms for the HSV images]
|
||||
|
||||
## [Apply the histogram comparison methods]
|
||||
for compare_method in range(4):
|
||||
for compare_method in range(6):
|
||||
base_base = cv.compareHist(hist_base, hist_base, compare_method)
|
||||
base_half = cv.compareHist(hist_base, hist_half_down, compare_method)
|
||||
base_test1 = cv.compareHist(hist_base, hist_test1, compare_method)
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user