Beispiel #1
0
    def add_control_pane(self, fixed_width=200):
        # Control pane widget
        self.vpane = ZVerticalPane(self, fixed_width)

        self.threshold1 = 50
        self.threshold2 = 100

        self.threshold1_slider = ZLabeledSlider(self.vpane,
                                                "Threshold1",
                                                take_odd=True,
                                                minimum=0,
                                                maximum=300,
                                                value=self.threshold1)
        self.threshold1_slider.add_value_changed_callback(
            self.slider1_value_changed)
        self.vpane.add(self.threshold1_slider)

        self.threshold2_slider = ZLabeledSlider(self.vpane,
                                                "Threshold2",
                                                take_odd=True,
                                                minimum=0,
                                                maximum=300,
                                                value=self.threshold2)
        self.threshold2_slider.add_value_changed_callback(
            self.slider2_value_changed)
        self.vpane.add(self.threshold2_slider)

        self.set_right_dock(self.vpane)
    def add_control_pane(self, fixed_width=200):
        # Control pane widget
        self.vpane = ZVerticalPane(self, fixed_width)

        self.contrast = 1
        self.brightness = 11

        self.contrast_slider = ZLabeledSlider(self.vpane,
                                              "Color",
                                              take_odd=False,
                                              minimum=1,
                                              maximum=3,
                                              value=self.contrast)
        self.contrast_slider.add_value_changed_callback(
            self.slider1_value_changed)
        self.vpane.add(self.contrast_slider)

        self.brightness_slider = ZLabeledSlider(self.vpane,
                                                "Contrast",
                                                take_odd=False,
                                                minimum=0,
                                                maximum=100,
                                                value=self.brightness)
        self.brightness_slider.add_value_changed_callback(
            self.slider2_value_changed)
        self.vpane.add(self.brightness_slider)

        self.set_right_dock(self.vpane)
Beispiel #3
0
    def add_control_pane(self, fixed_width=200):
        self.vbox = QWidget(self)
        self.vbox.setMinimumWidth(fixed_width)
        self.vbox.setMaximumWidth(fixed_width)

        vlayout = QVBoxLayout(self.vbox)
        self.sigmaColor = 40
        self.sigmaSpace = 160

        self.sigmaColor_slider = ZLabeledSlider(self.vbox,
                                                "SigmaColor",
                                                take_odd=False,
                                                minimum=0,
                                                maximum=self.SIGMA_COLOR_MAX,
                                                value=self.sigmaColor)
        self.sigmaColor_slider.add_value_changed_callback(
            self.slider1_value_changed)
        vlayout.addWidget(self.sigmaColor_slider)

        self.sigmaSpace_slider = ZLabeledSlider(self.vbox,
                                                "SigmaSpace",
                                                take_odd=False,
                                                minimum=0,
                                                maximum=self.SIGMA_SPACE_MAX,
                                                value=self.sigmaSpace)
        self.sigmaSpace_slider.add_value_changed_callback(
            self.slider2_value_changed)

        vlayout.addWidget(self.sigmaSpace_slider)

        vlayout.setAlignment(Qt.AlignTop)

        self.set_right_dock(self.vbox)
Beispiel #4
0
    def add_control_pane(self, fixed_width=200):
        # Control pane widget
        self.vpane = ZVerticalPane(self, fixed_width)

        self.ksize = 21
        self.sigmaSize = 12

        self.ksize_slider = ZLabeledSlider(self.vpane,
                                           "KernelSize",
                                           take_odd=True,
                                           minimum=0,
                                           maximum=31,
                                           value=self.ksize)
        self.ksize_slider.add_value_changed_callback(
            self.slider1_value_changed)
        self.vpane.add(self.ksize_slider)

        self.sigmaSize_slider = ZLabeledSlider(self.vpane,
                                               "SigmaSize",
                                               take_odd=False,
                                               minimum=0,
                                               maximum=30,
                                               value=self.sigmaSize)
        self.sigmaSize_slider.add_value_changed_callback(
            self.slider2_value_changed)
        self.vpane.add(self.sigmaSize_slider)

        self.set_right_dock(self.vpane)
Beispiel #5
0
    def add_control_pane(self, fixed_width=220):
        # Control pane widget
        self.vpane = ZVerticalPane(self, fixed_width)

        self.hParameter = 21
        self.hParameter_slider = ZLabeledSlider(self.vpane,
                                                "H Parameter",
                                                take_odd=False,
                                                minimum=1,
                                                maximum=self.H_PARAMETER_MAX,
                                                value=self.hParameter)
        self.hParameter_slider.add_value_changed_callback(
            self.hParameter_changed)

        self.hColorParameter = 27
        self.hColorParameter_slider = ZLabeledSlider(
            self.vpane,
            "H ColorParameter",
            take_odd=False,
            minimum=1,
            maximum=self.HCOLOR_PARAMETER_MAX,
            value=self.hColorParameter)
        self.hColorParameter_slider.add_value_changed_callback(
            self.hColorParameter_changed)

        self.template_window_size = 15
        self.template_window_size_slider = ZLabeledSlider(
            self.vpane,
            "TemplateWindowSize",
            take_odd=False,
            minimum=1,
            maximum=self.TEMPLATE_WINDOW_SIZE_MAX,
            value=self.template_window_size)
        self.template_window_size_slider.add_value_changed_callback(
            self.template_window_size_changed)

        self.search_window_size = 13
        self.search_window_size_slider = ZLabeledSlider(
            self.vpane,
            "SearchWindowSize",
            take_odd=False,
            minimum=1,
            maximum=self.SEARCH_WINDOW_SIZE_MAX,
            value=self.search_window_size)
        self.search_window_size_slider.add_value_changed_callback(
            self.search_window_size_changed)

        self.vpane.add(self.hParameter_slider)
        self.vpane.add(self.hColorParameter_slider)
        self.vpane.add(self.template_window_size_slider)
        self.vpane.add(self.search_window_size_slider)

        self.set_right_dock(self.vpane)
Beispiel #6
0
    def add_control_pane(self, fixed_width=200):
        # Control pane widget
        self.vpane = ZVerticalPane(self, fixed_width)

        self.ksize = 3

        self.ksize_slider = ZLabeledSlider(self.vpane,
                                           "GaussianBlur KernelSize",
                                           take_odd=True,
                                           minimum=0,
                                           maximum=31,
                                           value=self.ksize)
        self.ksize_slider.add_value_changed_callback(self.ksize_value_changed)

        self.vpane.add(self.ksize_slider)

        self.sigma = 2
        self.sigma_slider = ZLabeledSlider(self.vpane,
                                           "GaussianBlur SigmaSize",
                                           take_odd=True,
                                           minimum=1,
                                           maximum=21,
                                           value=self.sigma)
        self.sigma_slider.add_value_changed_callback(self.sigma_value_changed)

        self.vpane.add(self.sigma_slider)

        self.threshold1 = 120
        self.threshold2 = 50

        self.threshold1_slider = ZLabeledSlider(self.vpane,
                                                "CannyEdgeThreshold1",
                                                take_odd=True,
                                                minimum=0,
                                                maximum=300,
                                                value=self.threshold1)
        self.threshold1_slider.add_value_changed_callback(
            self.slider1_value_changed)
        self.vpane.add(self.threshold1_slider)

        self.threshold2_slider = ZLabeledSlider(self.vpane,
                                                "ParamThreshold",
                                                take_odd=True,
                                                minimum=0,
                                                maximum=300,
                                                value=self.threshold2)
        self.threshold2_slider.add_value_changed_callback(
            self.slider2_value_changed)
        self.vpane.add(self.threshold2_slider)

        self.set_right_dock(self.vpane)
Beispiel #7
0
    def __init__(self, title, parent=None):
        super(MainView, self).__init__(parent)
        self.setWindowTitle(title)

        # 1. Create main_vbox and main_vlayout
        self.main_vbox = QWidget(self)
        self.main_vlayout = QVBoxLayout(self.main_vbox)
        self.main_vlayout.setAlignment(Qt.AlignTop)

        # 2, Create labeled_slider in main_vbox
        self.labeled_slider = ZLabeledSlider(self.main_vbox,
                                             take_odd=False,
                                             minimum=10,
                                             maximum=300,
                                             value=100,
                                             orientation=Qt.Horizontal,
                                             fixed_width=180)
        self.labeled_slider.add_value_changed_callback(
            self.slider_value_changed)

        self.labeled_slider.set_range(0, 200)
        self.labeled_slider.set_value(100)

        # 3. Add labeled_slider to main_vlayout.
        self.main_vlayout.addWidget(self.labeled_slider)

        self.labeled_slider.setGeometry(0, 0, 160, 70)
        self.setCentralWidget(self.main_vbox)

        self.show()
Beispiel #8
0
    def add_control_pane(self, fixed_width=220):
        # Control pane widget
        self.vpane = ZVerticalPane(self, fixed_width)

        self.ksize = 3

        self.shape_id = 2

        self.shapes = {"MORPH_RECT": 0, "MORPH_CROSS": 1, "MORPH_ELLIPSE": 2}

        self.shape = ZLabeledComboBox(self.vpane, "AdaptiveMethod")
        self.shape.add_items(list(self.shapes.keys()))
        self.shape.add_activated_callback(self.shape_activated)

        self.ksize_slider = ZLabeledSlider(self.vpane,
                                           "KernelSize",
                                           take_odd=True,
                                           minimum=1,
                                           maximum=33,
                                           value=self.ksize,
                                           fixed_width=200)
        self.ksize_slider.add_value_changed_callback(self.ksize_value_changed)

        self.vpane.add(self.shape)
        self.vpane.add(self.ksize_slider)

        self.set_right_dock(self.vpane)
Beispiel #9
0
  def add_control_pane(self, fixed_width=220):
    # Control pane widget
    self.vpane = ZVerticalPane(self, fixed_width)

    self.ksize = 3

    self.shape_id = 2; 
    self.type_id  = 3
    self.shapes = { "MORPH_RECT":  0, "MORPH_CROSS": 1, "MORPH_ELLIPSE":2}
     
    self.shape = ZLabeledComboBox(self.vpane, "MorphShape")
    self.shape.add_items(list(self.shapes.keys() ))
    self.shape.add_activated_callback(self.shape_activated)
    self.shape.set_current_text(self.shape_id)
    
    self.types = { "MORPH_OPEN":   0, "MORPH_CLOSE":    1, "MORPH_GRADIENT": 2,
                   "MORPH_TOPHAT": 3, "MORPH_BLACKHAT": 4 }
    self.type = ZLabeledComboBox(self.vpane, "MorphType")
    self.type.add_items(list(self.types.keys() ))
    self.type.add_activated_callback(self.type_activated)
    self.type.set_current_text(self.type_id)
    
    self.ksize_slider = ZLabeledSlider(self.vpane, "KernelSize", take_odd =True,  
              minimum=1, maximum=33, value=self.ksize, fixed_width=200)
    self.ksize_slider.add_value_changed_callback(self.ksize_value_changed)
    
    self.vpane.add(self.shape)
    self.vpane.add(self.type)    
    self.vpane.add(self.ksize_slider)
    
    self.set_right_dock(self.vpane)
Beispiel #10
0
    def add_control_pane(self, fixed_width=220):
        # Control pane widget
        self.vpane = ZVerticalPane(self, fixed_width)

        self.stride = 6

        self.hog_descriptor_id = self.DEFAULT

        self.hog_descriptors = {
            "Default": self.DEFAULT,
            "Daimler": self.DAIMLER,
            "UserDefined": self.USER_DEFINED
        }

        self.hog_descriptor = ZLabeledComboBox(self.vpane, "HOG Descriptor")
        self.hog_descriptor.add_items(list(self.hog_descriptors.keys()))
        self.hog_descriptor.add_activated_callback(
            self.hog_descriptor_activated)
        self.hog_descriptor.set_current_text(self.hog_descriptor_id)

        self.stride_slider = ZLabeledSlider(self.vpane,
                                            "WinStride",
                                            take_odd=False,
                                            minimum=1,
                                            maximum=16,
                                            value=self.stride,
                                            fixed_width=180)
        self.stride_slider.add_value_changed_callback(
            self.stride_value_changed)

        self.vpane.add(self.hog_descriptor)
        self.vpane.add(self.stride_slider)

        self.set_right_dock(self.vpane)
Beispiel #11
0
  def add_control_pane(self, fixed_width=220):
    # Control pane widget
    self.vpane = ZVerticalPane(self, fixed_width)
    
    self.block_size         = 11
    self.adaptive_method_id = 0;
    self.threshold_type_id  = 0;

    
    self.methods = {"ADAPTIVE_THRESH_MEAN_C": cv2.ADAPTIVE_THRESH_MEAN_C, 
                    "ADAPTIVE_THRESH_GAUSSIAN_C": cv2.ADAPTIVE_THRESH_GAUSSIAN_C}
    self.types   = {"THRESH_BINARY":  cv2.THRESH_BINARY  , 
                    "THRESH_BINARY_INV": cv2.THRESH_BINARY_INV }
    
    self.adaptive_method = ZLabeledComboBox(self.vpane, "AdaptiveMethod")
    self.adaptive_method.add_items(list(self.methods.keys() ))
    self.adaptive_method.add_activated_callback(self.adaptive_method_activated)
    
    self.threshold_type  = ZLabeledComboBox(self.vpane, "ThresholdType")
    self.threshold_type.add_items(list(self.types.keys()) )
    self.threshold_type.add_activated_callback(self.threshold_type_activated)
    
    self.labeled_slider = ZLabeledSlider(self.vpane, "BlockSize", take_odd =True,  
              minimum=3, maximum=43, value=self.block_size, fixed_width=200)
    self.labeled_slider.add_value_changed_callback(self.slider_value_changed)
    
    self.vpane.add(self.adaptive_method)
    self.vpane.add(self.threshold_type)    
    self.vpane.add(self.labeled_slider)

    self.set_right_dock(self.vpane)
  def add_control_pane(self, fixed_width=220):
    # Control pane widget
    self.vpane = ZVerticalPane(self, fixed_width)

    self.sault        = 30
    self.sault_slider = ZLabeledSlider(self.vpane, "Sault", take_odd =False,  
                        minimum=0, maximum=100, value=self.sault)
    self.sault_slider.add_value_changed_callback(self.sault_changed)

    self.pepper        = 30
    self.pepper_slider = ZLabeledSlider(self.vpane, "Pepper", take_odd =False,  
                        minimum=0, maximum=100, value=self.sault)
    self.pepper_slider.add_value_changed_callback(self.pepper_changed)

    self.vpane.add(self.sault_slider)
    self.vpane.add(self.pepper_slider)
    self.set_right_dock(self.vpane)
Beispiel #13
0
    def add_control_pane(self, fixed_width=220):
        # Control pane widget

        self.vpane = ZVerticalPane(self, fixed_width)

        self.blockSize = 7
        self.kernelSize = 5
        self.detectorThreshold = 100

        self.blockSizeance_slider = ZLabeledSlider(self.vpane,
                                                   "BlockSize",
                                                   take_odd=False,
                                                   minimum=2,
                                                   maximum=100,
                                                   value=self.blockSize,
                                                   fixed_width=200)
        self.blockSizeance_slider.add_value_changed_callback(
            self.blockSizeance_value_changed)

        self.kernelSize_slider = ZLabeledSlider(self.vpane,
                                                "KernelSize",
                                                take_odd=True,
                                                minimum=3,
                                                maximum=31,
                                                value=self.kernelSize,
                                                fixed_width=200)
        self.kernelSize_slider.add_value_changed_callback(
            self.kernelSize_value_changed)

        self.detectorThreshold_slider = ZLabeledSlider(
            self.vpane,
            "DetectorThreshold",
            take_odd=False,
            minimum=100,
            maximum=240,
            value=self.detectorThreshold,
            fixed_width=200)
        self.detectorThreshold_slider.add_value_changed_callback(
            self.detectorThreshold_value_changed)

        self.vpane.add(self.blockSizeance_slider)
        self.vpane.add(self.kernelSize_slider)
        self.vpane.add(self.detectorThreshold_slider)

        self.set_right_dock(self.vpane)
Beispiel #14
0
    def add_control_pane(self, fixed_width=220):
        # Control pane widget

        self.vpane = ZVerticalPane(self, fixed_width)

        self.minDist = 9
        self.minArea = 15
        self.maxArea = 131

        self.minDistance_slider = ZLabeledSlider(self.vpane,
                                                 "MinDistanceBetweenBlob",
                                                 take_odd=False,
                                                 minimum=5,
                                                 maximum=100,
                                                 value=self.minDist,
                                                 fixed_width=200)
        self.minDistance_slider.add_value_changed_callback(
            self.minDistance_value_changed)

        self.minArea_slider = ZLabeledSlider(self.vpane,
                                             "MinArea",
                                             take_odd=False,
                                             minimum=1,
                                             maximum=100,
                                             value=self.minArea,
                                             fixed_width=200)
        self.minArea_slider.add_value_changed_callback(
            self.minArea_value_changed)

        self.maxArea_slider = ZLabeledSlider(self.vpane,
                                             "MaxArea",
                                             take_odd=False,
                                             minimum=100,
                                             maximum=200,
                                             value=self.maxArea,
                                             fixed_width=200)
        self.maxArea_slider.add_value_changed_callback(
            self.maxArea_value_changed)

        self.vpane.add(self.minDistance_slider)
        self.vpane.add(self.minArea_slider)
        self.vpane.add(self.maxArea_slider)

        self.set_right_dock(self.vpane)
Beispiel #15
0
    def add_control_pane(self, fixed_width=220):
        # Control pane widget

        self.vpane = ZVerticalPane(self, fixed_width)

        self.diameter = 4
        self.sigma_color = 160
        self.sigma_space = 40

        self.diameter_slider = ZLabeledSlider(self.vpane,
                                              "Diameter",
                                              take_odd=False,
                                              minimum=0,
                                              maximum=5,
                                              value=self.diameter,
                                              fixed_width=200)
        self.diameter_slider.add_value_changed_callback(
            self.diameter_value_changed)

        self.sigma_color_slider = ZLabeledSlider(self.vpane,
                                                 "SigmaColor",
                                                 take_odd=False,
                                                 minimum=0,
                                                 maximum=255,
                                                 value=self.sigma_color,
                                                 fixed_width=200)
        self.sigma_color_slider.add_value_changed_callback(
            self.sigma_color_value_changed)

        self.sigma_space_slider = ZLabeledSlider(self.vpane,
                                                 "SigmaSpace",
                                                 take_odd=False,
                                                 minimum=0,
                                                 maximum=255,
                                                 value=self.sigma_space,
                                                 fixed_width=200)
        self.sigma_space_slider.add_value_changed_callback(
            self.sigma_space_value_changed)

        self.vpane.add(self.diameter_slider)
        self.vpane.add(self.sigma_color_slider)
        self.vpane.add(self.sigma_space_slider)

        self.set_right_dock(self.vpane)
Beispiel #16
0
    def add_control_pane(self, fixed_width=200):
        # Control pane widget
        self.ksize = 5
        self.vpane = ZVerticalPane(self, fixed_width)
        self.labeled_slider = ZLabeledSlider(self.vpane,
                                             "KernelSize",
                                             take_odd=True,
                                             minimum=0,
                                             maximum=33,
                                             value=self.ksize)

        self.labeled_slider.add_value_changed_callback(
            self.slider_value_changed)
        self.vpane.add(self.labeled_slider)

        self.set_right_dock(self.vpane)
Beispiel #17
0
    def add_control_pane(self, fixed_width=200):
        # Create a vertical control pane.
        self.vpane = ZVerticalPane(self, fixed_width)

        self.ksize = 11
        self.labeled_slider = ZLabeledSlider(self.vpane,
                                             "KernelSize",
                                             take_odd=True,
                                             minimum=0,
                                             maximum=33,
                                             value=self.ksize)
        self.labeled_slider.add_value_changed_callback(
            self.slider_value_changed)
        self.vpane.add(self.labeled_slider)

        # Set the control_pane to the right docking area of this main window.
        self.set_right_dock(self.vpane)
Beispiel #18
0
    def add_control_pane(self, fixed_width=200):
        # Control pane widget
        self.threshold_value = 11
        self.vpane = ZVerticalPane(self, fixed_width)

        self.threshold_type_id = 0

        self.types = {
            "THRESH_BINARY": cv2.THRESH_BINARY,
            "THRESH_BINARY_INV": cv2.THRESH_BINARY_INV,
            "THRESH_TRUNC": cv2.THRESH_TRUNC,
            "THRESH_TOZERO": cv2.THRESH_TOZERO,
            "THRESH_TOZERO_INV": cv2.THRESH_TOZERO_INV,
            "THRESH_OTSU": cv2.THRESH_OTSU,
            "THRESH_TRIANGLE": cv2.THRESH_TRIANGLE
        }

        self.threshold_type = ZLabeledComboBox(self.vpane, "ThresholdType")
        self.threshold_type.add_items(list(self.types.keys()))
        self.threshold_type.add_activated_callback(
            self.threshold_type_activated)
        self.threshold_type.set_current_text(self.threshold_type_id)

        self.threshold_value = 60

        self.threshold_value_slider = ZLabeledSlider(
            self.vpane,
            "ThresholdValue",
            take_odd=True,
            minimum=0,
            maximum=255,
            value=self.threshold_value,
            fixed_width=200)
        self.threshold_value_slider.add_value_changed_callback(
            self.threshold_value_changed)
        self.vpane.add(self.threshold_type)
        self.vpane.add(self.threshold_value_slider)

        self.match_min_size = 60
        self.match_max_size = 240

        self.match_min_size_slider = ZLabeledSlider(self.vpane,
                                                    "MatchMinSize",
                                                    take_odd=True,
                                                    minimum=10,
                                                    maximum=100,
                                                    value=self.match_min_size)
        self.match_min_size_slider.add_value_changed_callback(
            self.match_min_size_value_changed)

        self.match_max_size_slider = ZLabeledSlider(self.vpane,
                                                    "MatchMaxSize",
                                                    take_odd=True,
                                                    minimum=100,
                                                    maximum=400,
                                                    value=self.match_max_size)
        self.match_max_size_slider.add_value_changed_callback(
            self.match_max_size_value_changed)

        self.vpane.add(self.match_min_size_slider)
        self.vpane.add(self.match_max_size_slider)

        self.clear_button = QPushButton("Clear", self.vpane)
        self.clear_button.clicked.connect(self.clear_button_clicked)

        self.match_button = QPushButton("Match", self.vpane)
        self.match_button.clicked.connect(self.match_button_clicked)

        self.vpane.add(self.clear_button)
        self.vpane.add(self.match_button)

        self.set_right_dock(self.vpane)