下面的代码向原始图像的所有四个侧面添加大小为10像素的恒定边框。
对于颜色,我假设您要使用背景的平均灰度值,该值是根据图像底部两行的平均值计算得出的。抱歉,编码有些困难,但是显示了一般的操作方法,并且可以适应您的需求。
如果将底部和右侧的bordersize值保留为0,则甚至会得到对称的边框。
BORDER_TYPE的其他值也是可能的,例如BORDER_DEFAULT,BORDER_REPLICATE,BORDER_WRAP。
有关更多详细信息,请参见:http
:
//docs.opencv.org/trunk/d3/df2/tutorial_py_basic_ops.html#gsc.tab=0
import numpy as npimport cv2im = cv2.imread('image.jpg')row, col = im.shape[:2]bottom = im[row-2:row, 0:col]mean = cv2.mean(bottom)[0]bordersize = 10border = cv2.copyMakeBorder( im, top=bordersize, bottom=bordersize, left=bordersize, right=bordersize, borderType=cv2.BORDER_CONSTANT, value=[mean, mean, mean])cv2.imshow('image', im)cv2.imshow('bottom', bottom)cv2.imshow('border', border)cv2.waitKey(0)cv2.destroyAllWindows()


