为了使内核与图像卷积,我正在使用:

 output = cv2.filter2D(image,-1,kernel)

这将返回我正在寻找的卷积图像,但是我需要将高度和宽度都减小2。例如,当前正在返回output.shape = (157, 298),并且我需要它返回(155,296)
我无法更改镜像或内核。

是否有一种方法可以从image[1,1](而不是[0,0])开始并在[-1,-1]结束,以便从两个轴修剪2?

最佳答案

您不必“更改”图像,只需对其进行 slice 。之前或之后,这可能会对边缘产生微妙的影响:

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/

10-11 17:56