基于Python的图像边界自动扩充

使用Opencv中cv2.copyMakeBorder()函数
输入参数:
src : 输入的图片
top, bottom, left, right :相应方向上的扩充宽度
borderType:定义要添加边框的类型,它可以是以下的一种:
cv2.BORDER_CONSTANT:添加的边界框像素值为常数(需要额外再给定一个参数)
cv2.BORDER_REFLECT:添加的边框像素将是边界元素的镜面反射
cv2.BORDER_REFLECT_101 or cv2.BORDER_DEFAULT:和上面类似,但是有一些细微的不同
cv2.BORDER_REPLICATE:使用最边界的像素值代替
cv2.BORDER_WRAP:直接试试参数的效果
value:如果borderType为cv2.BORDER_CONSTANT时需要填充的常数值

path1='E:/Vscode/NewData/Paper3Data/optical-map/optical2.tif'
img1=cv2.imread(path1)
gray1=cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY) 
gray1_extrention = cv2.copyMakeBorder(gray1,100,100,100,100,cv2.BORDER_REFLECT)#在边界处扩充100像素
cv2.namedWindow('gray1',cv2.WINDOW_NORMAL)
cv2.imshow('gray1',gray1) 
cv2.namedWindow('gray1_extrention ',cv2.WINDOW_NORMAL)
cv2.imshow('gray1_extrention ',gray1_extrention ) 
cv2.waitKey(0)
cv2.destroyAllWindows()

猜你喜欢

转载自blog.csdn.net/qq_37770754/article/details/123189591
今日推荐