OpenCV-Python is a library of Python bindings designed to solve computer vision problems. cv2.copyMakeBorder() method is used to create a border around the image like a photo frame.
Syntax: cv2.copyMakeBorder(src, top, bottom, left, right, borderType, value)
Parameters:
src: It is the source image.
top: It is the border width in number of pixels in top direction.
bottom: It is the border width in number of pixels in bottom direction.
left: It is the border width in number of pixels in left direction.
right: It is the border width in number of pixels in right direction.
borderType: It depicts what kind of border to be added. It is defined by flags like cv2.BORDER_CONSTANT, cv2.BORDER_REFLECT, etc dest: It is the destination image
value: It is an optional parameter which depicts color of border if border type is cv2.BORDER_CONSTANT.Return Value: It returns an image.
The borderType flags are described below:
cv2.BORDER_CONSTANT: It adds a constant colored border. The value should be given as a keyword argument
cv2.BORDER_REFLECT: The border will be mirror reflection of the border elements. Suppose, if image contains letters “abcdefg” then output will be “gfedcba|abcdefg|gfedcba“.
cv2.BORDER_REFLECT_101 or cv2.BORDER_DEFAULT: It does the same works as cv2.BORDER_REFLECT but with slight change. Suppose, if image contains letters “abcdefgh” then output will be “gfedcb|abcdefgh|gfedcba“.
cv2.BORDER_REPLICATE: It replicates the last element. Suppose, if image contains letters “abcdefgh” then output will be “aaaaa|abcdefgh|hhhhh“.
Image used for all the below examples:
Example #1:
Python3
# Python program to explain cv2.copyMakeBorder() method # importing cv2 import cv2 # path path = r 'C:\Users\Rajnish\Desktop\neveropen\Lazyroar.png' # Reading an image in default mode image = cv2.imread(path) # Window name in which image is displayed window_name = 'Image' # Using cv2.copyMakeBorder() method image = cv2.copyMakeBorder(image, 10 , 10 , 10 , 10 , cv2.BORDER_CONSTANT, None , value = 0 ) # Displaying the image cv2.imshow(window_name, image) |
Output:
Example #2:
Python3
# Python program to explain cv2.copyMakeBorder() method # importing cv2 import cv2 # path path = r 'C:\Users\Rajnish\Desktop\neveropen\Lazyroar.png' # Reading an image in default mode image = cv2.imread(path) # Window name in which image is displayed window_name = 'Image' # Using cv2.copyMakeBorder() method image = cv2.copyMakeBorder(image, 100 , 100 , 50 , 50 , cv2.BORDER_REFLECT) # Displaying the image cv2.imshow(window_name, image) |
Output: