Python cv2.SimpleBlobDetector_Params() Examples
The following are 7
code examples of cv2.SimpleBlobDetector_Params().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
cv2
, or try the search function
.
Example #1
Source File: utils_nms.py From lighttrack with MIT License | 6 votes |
def init_blob_detector(): params = cv2.SimpleBlobDetector_Params() params.minThreshold = 1 params.maxThreshold = 255 params.filterByArea = True params.minArea = 1 params.filterByCircularity = False params.filterByConvexity = False params.filterByInertia = False #detector = cv2.SimpleBlobDetector(params) detector = cv2.SimpleBlobDetector_create(params) return detector
Example #2
Source File: utils_nms.py From cvToolkit with MIT License | 5 votes |
def init_blob_detector(): params = cv2.SimpleBlobDetector_Params() params.minThreshold = 1 params.maxThreshold = 255 params.filterByArea = True params.minArea = 1 params.filterByCircularity = False params.filterByConvexity = False params.filterByInertia = False #detector = cv2.SimpleBlobDetector(params) detector = cv2.SimpleBlobDetector_create(params) return detector
Example #3
Source File: utils_nms.py From cvToolkit with MIT License | 5 votes |
def init_blob_detector(): params = cv2.SimpleBlobDetector_Params() params.minThreshold = 1 params.maxThreshold = 255 params.filterByArea = True params.minArea = 1 params.filterByCircularity = False params.filterByConvexity = False params.filterByInertia = False #detector = cv2.SimpleBlobDetector(params) detector = cv2.SimpleBlobDetector_create(params) return detector
Example #4
Source File: utils_nms.py From video-to-pose3D with MIT License | 5 votes |
def init_blob_detector(): params = cv2.SimpleBlobDetector_Params() params.minThreshold = 1 params.maxThreshold = 255 params.filterByArea = True params.minArea = 1 params.filterByCircularity = False params.filterByConvexity = False params.filterByInertia = False # detector = cv2.SimpleBlobDetector(params) detector = cv2.SimpleBlobDetector_create(params) return detector
Example #5
Source File: find_balloon.py From ardupilot-balloon-finder with GNU General Public License v3.0 | 5 votes |
def analyse_frame(self,frame): balloon_found = False balloon_x = 0 balloon_y = 0 balloon_radius = 0 # Convert BGR to HSV hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # Threshold the HSV image mask = cv2.inRange(hsv, self.filter_low, self.filter_high) # Erode erode_kernel = numpy.ones((3,3),numpy.uint8); eroded_img = cv2.erode(mask,erode_kernel,iterations = 1) # dilate dilate_kernel = numpy.ones((10,10),numpy.uint8); dilate_img = cv2.dilate(eroded_img,dilate_kernel,iterations = 1) # blog detector blob_params = cv2.SimpleBlobDetector_Params() blob_params.minDistBetweenBlobs = 50 blob_params.filterByInertia = False blob_params.filterByConvexity = False blob_params.filterByColor = True blob_params.blobColor = 255 blob_params.filterByCircularity = False blob_params.filterByArea = False #blob_params.minArea = 20 #blob_params.maxArea = 500 blob_detector = cv2.SimpleBlobDetector_create(blob_params) keypts = blob_detector.detect(dilate_img) # draw centers of all keypoints in new image #blob_img = cv2.drawKeypoints(frame, keypts, color=(0,255,0), flags=0) # find largest blob if len(keypts) > 0: kp_max = keypts[0] for kp in keypts: if kp.size > kp_max.size: kp_max = kp # draw circle around the largest blob cv2.circle(frame,(int(kp_max.pt[0]),int(kp_max.pt[1])),int(kp_max.size),(0,255,0),2) # set the balloon location balloon_found = True balloon_x = kp_max.pt[0] balloon_y = kp_max.pt[1] balloon_radius = kp_max.size # return results return balloon_found, balloon_x, balloon_y, balloon_radius # add_artificial_horizon - adds artificial horizon to an image using the vehicle's attitude
Example #6
Source File: BlobDetector.py From openag_cv with GNU General Public License v3.0 | 4 votes |
def __init__(self, args): self.node_name = "cvBridge" rospy.init_node(self.node_name) # What we do during shutdown rospy.on_shutdown(self.cleanup) # Create the cv_bridge object self.bridge = CvBridge() # Subscribe to the camera image topics and set # the appropriate callbacks self.image_sub = rospy.Subscriber(args[1], Image, self.image_callback) self.image_pub = rospy.Publisher( "%s/BlobDetector" % (args[1]), Image, queue_size=10) # Detector # Set up the detector with parameters. # Setup SimpleBlobDetector parameters. params = cv2.SimpleBlobDetector_Params() # Filter by Color. params.filterByColor = rospy.get_param('~FilterByColor') params.blobColor = rospy.get_param('~BlobColor') # Filter by Area. params.filterByArea = rospy.get_param('~FilterByArea') params.minArea = rospy.get_param('~BlobMinArea') params.maxArea = rospy.get_param('~BlobMaxArea') # Filter by Circularity params.filterByCircularity = rospy.get_param('~FilterByCircularity') params.minCircularity = rospy.get_param('~BlobMinCircularity') params.maxCircularity = rospy.get_param('~BlobMaxCircularity') # Filter by Convexity params.filterByConvexity = rospy.get_param('~FilterByConvexity') params.minConvexity = rospy.get_param('~BlobMinConvexity') params.maxConvexity = rospy.get_param('~BlobMaxConvexity') # Filter by Inertia params.filterByInertia = rospy.get_param('~FilterByInertia') params.minInertiaRatio = rospy.get_param('~BlobMinInertia') params.maxInertiaRatio = rospy.get_param('~BlobMaxInertia') self.MaxLeavesSocketA = [0] self.MaxLeavesSocketB = [0] self.MaxLeavesSocketC = [0] self.MaxLeavesSocketD = [0] self.MaxLeavesSocketE = [0] self.MaxLeavesSocketF = [0] self.detector = cv2.SimpleBlobDetector(params) rospy.loginfo("Waiting for image topics...")
Example #7
Source File: camera_calibration.py From camera_calibration_API with Apache License 2.0 | 4 votes |
def __init__(self, pattern_type, pattern_rows, pattern_columns, distance_in_world_units = 1.0, figsize = (8,8), debug_dir = None, term_criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_COUNT, 30, 0.001) ): pattern_types = ["chessboard","symmetric_circles","asymmetric_circles","custom"] assert pattern_type in pattern_types, "pattern type must be one of {}".format(pattern_types) self.pattern_type = pattern_type self.pattern_rows = pattern_rows self.pattern_columns = pattern_columns self.distance_in_world_units = distance_in_world_units self.figsize = figsize self.debug_dir = debug_dir self.term_criteria = term_criteria self.subpixel_refinement = True #turn on or off subpixel refinement # on for chessboard # off for circular objects # set accordingly for custom pattern # NOTE: turining on subpixel refinement for circles gives a very high # reprojection error. if self.pattern_type in ["asymmetric_circles","symmetric_circles"]: self.subpixel_refinement = False self.use_clustering = True # Setup Default SimpleBlobDetector parameters. self.blobParams = cv2.SimpleBlobDetector_Params() # Change thresholds self.blobParams.minThreshold = 8 self.blobParams.maxThreshold = 255 # Filter by Area. self.blobParams.filterByArea = True self.blobParams.minArea = 50 # minArea may be adjusted to suit for your experiment self.blobParams.maxArea = 10e5 # maxArea may be adjusted to suit for your experiment # Filter by Circularity self.blobParams.filterByCircularity = True self.blobParams.minCircularity = 0.8 # Filter by Convexity self.blobParams.filterByConvexity = True self.blobParams.minConvexity = 0.87 # Filter by Inertia self.blobParams.filterByInertia = True self.blobParams.minInertiaRatio = 0.01 if self.pattern_type == "asymmetric_circles": self.double_count_in_column = True # count the double circles in asymmetrical circular grid along the column if self.debug_dir and not os.path.isdir(self.debug_dir): os.mkdir(self.debug_dir) print("The Camera Calibration API is initialized and ready for calibration...")