Open In App

Python OpenCV | cv2.copyMakeBorder() method

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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\geeksforgeeks\geeks.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\geeksforgeeks\geeks.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: 
 

 



Last Updated : 04 Jan, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads