The value should be given as next argument. cv2.BORDER_CONSTANT - Adds a constant colored border.borderType - Flag defining what kind of border to be added.top, bottom, left, right - border width in number of pixels in corresponding directions.But it has more applications for convolution operation, zero padding etc. If you want to create a border around the image, something like a photo frame, you can use cv2.copyMakeBorder() function. Cv2.split() is a costly operation (in terms of time). waitKey ( 0 ) # We're done: close all open windows before exiting. imwrite ( cropped_filename, cropped_image ) # Wait until any key press. imshow ( cropped_basename, cropped_image ) cv2. if key = ord ( "c" ): break # Did we make a selection? if len ( select_coords ) = 2 : cx, cy = select_coords x, y = select_coords x0, y0, x1, y1 = get_square_coords ( x, y, cx, cy ) # Crop the image to the selected region and display in a new window. waitKey ( 1 ) & 0xFF # If 'c' is pressed, break from the loop and handle any region selection. while True : # Display the image and wait for a keypress cv2. setMouseCallback ( basename, region_selection ) # Keep looping and listening for user input until 'c' is pressed. copy () # Name the main image window after the image filename. basename ( cropped_filename ) # Store a clone of the original image (without selected region annotation). splitext ( filename ) + '_sq.png' cropped_basename = os. shape # The cropped image will be saved with this filename. append (( x, y )) selecting = False # Load the image and get its filename without path and dimensions. EVENT_LBUTTONUP : # Left mouse button up: the selection has been made. copy () x0, y0, x1, y1 = get_square_coords ( x, y, * select_coords ) cv2. EVENT_MOUSEMOVE and selecting : # If we're dragging the selection square, update it. select_coords = selecting = True elif event = cv2. # The first coordinate pair is the centre of the square. EVENT_LBUTTONDOWN : # Left mouse button down: begin the selection. a = max ( abs ( cx - x ), abs ( cy - y )) a = min ( a, w - cx, cx, h - cy, cy ) return cx - a, cy - a, cx + a, cy + a def region_selection ( event, x, y, flags, param ): """Callback function to handle mouse events related to region selection.""" global select_coords, selecting, image if event = cv2. """ # Selected square edge half-length don't stray outside the image boundary. (x, y) is a selected point to which the largest square is to be matched. (cx, cy) are the coordinates of the square centre. selecting = False def get_square_coords ( x, y, cx, cy ): """ Get the diagonally-opposite coordinates of the square. select_coords = # While we are in the process of selecting a region, this flag is True. Import os import sys import cv2 # The coordinates defining the square selected will be kept in this list.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |