OpenCV filter2D和负值

2024-10-06 07:12:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用OpenCV的filter2D函数,使用以下代码实现一个简单的Laplacian过滤器:

tempkernel = np.array([[0,1,0],[1,-4,1],[0,1,0]])
kernel = np.array(tempkernel,np.float32)
mylaplaceda = cv2.filter2D(blurred,-1,kernel)
cv2.imwrite("outimage.jpg",mylaplaceda);

“模糊”是输入图像。现在,与OpenCV内置的Laplacian()函数相比,输出图像看起来是一样的(当作为图像查看时)。但是filter2D似乎会从输入图像中修剪负值:

使用Laplacian()的最大值:43

使用以上最大值:43

使用Laplacian()的最小值:-55

最小值使用以上值:0

有什么办法可以补救吗,还是我做错了什么?即使使用带有负值的delta参数,也会从最大值中减去,但最小值保持不变。在


Tags: 函数代码图像过滤器nparraycv2kernel