为了将内核与图像进行卷积,我使用:
output = cv2.filter2D(image,-1,kernel)
这将返回我正在寻找的卷积图像,但是我需要将高度和宽度都修剪 2。例如,它当前正在返回 output.shape = (157, 298)
并且我需要它返回 (155,296)
。
我无法更改镜像或内核。
有没有办法从 image[1,1]
(而不是 [0,0]
)开始并在 [-1, -1]
为了从两个轴上修剪 2?
最佳答案
您不必“改变”图像,只需将其切片即可。无论是之前还是之后,在边缘处可能会产生微妙不同的效果:
output = cv2.filter2D(image, -1, kernel)[1:-1, 1:-1]
或
output = cv2.filter2D(image[1:-1, 1:-1], -1, kernel)
关于python - OpenCV - 改变 filter2D 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32642421/