import cv2
img = cv2.imread('sample.jpg')
top_size,bottom_size,left_size,right_size = (50,50,50,50)#图片四周填充的长度
replicate = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType = cv2.BORDER_REPLICATE)
reflect = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType = cv2.BORDER_REFLECT)
reflect101 = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType = cv2.BORDER_REFLECT_101)
wrap = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType = cv2.BORDER_WRAP)
constant = cv2.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType = cv2.BORDER_CONSTANT,value = 0)
cv2.imshow('Original',img)
cv2.imshow('replicate',replicate)
cv2.imshow('reflect',reflect)
cv2.imshow('reflect101',reflect101)
cv2.imshow('wrap',wrap)
cv2.imshow('constant',constant)
cv2.waitKey(0)
cv2.destroyWindow()
BORDER_REPLICATE:复制法,也就是复制最边缘像素。
BORDER_REFLECT:反射法,对感兴趣的图像中的像素在两边进行复制
BORDER_REFLECT_101:反射法,也就是以最边缘像素为轴
BORDER_WRAP:外包装法,以图像的左边界与右边界相连,上下边界相连
BORDER_CONSTANT:常量法,需要填充value值,0表示黑框填充
import cv2
img = cv2.imread('sample.jpg')
image = cv2.imread('test.jpg')
print(img[0:5,0:5,0])
print(image[0:5,0:5,0])
#直接加10
img1 = img +10
image1 = image + 10
print(img1[0:5,0:5,0])
print(image1[0:5,0:5,0])
#两图像直接相加,大小需一样
img = cv2.resize(img,(image.shape[1],image.shape[0]))
result1 = img + image
print(result1[0:5,0:5,0])
#通过cv2.add相加,大小需一样
result2 = cv2.add(img,image)
print(result2[0:5,0:5,0])
图像融合
如果直接相加,会报错
#图像融合
import cv2
image = cv2.imread('sample.jpg')
img = cv2.imread('test.jpg')
result = image + img
将两张图片调整到大小一致后就可以融合
#图像融合
import cv2
image = cv2.imread('sample.jpg')
img = cv2.imread('test.jpg')
#将两张图片调整为大小一致
img = cv2.resize(img,(image.shape[1],image.shape[0]))
result = image + img
cv2.imshow('1',result)
cv2.waitKey(0)
cv2.destroyAllWindows()
使用函数融合
#图像融合
import cv2
image = cv2.imread('sample.jpg')
img = cv2.imread('test.jpg')
#将两张图片调整为大小一致
img = cv2.resize(img,(image.shape[1],image.shape[0]))
result = cv2.addWeighted(image, 0.5, img, 0.5, 0)
cv2.imshow('1',result)
cv2.waitKey(0)
cv2.destroyAllWindows()



