OpenCV - 改变filter2D功能

时间:2015-09-18 01:21:42

标签: python opencv numpy

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

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

这将返回我正在寻找的卷积图像,但是我需要将高度和宽度都修剪为2.例如,它当前正在返回output.shape = (157, 298),我需要它返回{ {1}}。 我无法改变图像或内核。

有没有办法可以从(155,296)开始(而不是image[1,1])并以[0,0]结束,以便从两个轴修剪2?

1 个答案:

答案 0 :(得分:2)

您不必“改变”图像,您可以将其切片。在之前或之后,可能在边缘产生微妙的不同效果:

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

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