import cv2
import numpy as np
img=cv2.imread("img_src.jpg")
h,w=img.shape[0:2]
base_size=h+20,w+20,3
# make a 3 channel image for base which is slightly larger than target img
base=np.zeros(base_size,dtype=np.uint8)
cv2.rectangle(base,(0,0),(w+20,h+20),(255,255,255),30) # really thick white rectangle
base[10:h+10,10:w+10]=img # this works
4条答案
按热度按时间2ledvvac1#
下面的代码将大小为
10
像素的固定边框添加到原始图像的所有四个边。对于颜色,我假设你想使用背景的平均灰度值,这是我从你的图像底部两行的平均值计算出来的。抱歉,有些硬编码,但显示了一般的操作方法,可以适应你的需要。
如果您将
border_size
的底部和右侧值保留为0
,您甚至会获得对称边框。BORDER_TYPE
的其它值也是可能的,例如BORDER_DEFAULT
、BORDER_REPLICATE
、BORDER_WRAP
。更多详情参见:http://docs.opencv.org/trunk/d3/df2/tutorial_py_basic_ops.html#gsc.tab=0
e1xvtsh32#
在一行中回答
mwngjboj3#
试试这个:
cunj1qz14#
使用openCV添加边框