用skimage和opencv对同一个灰度图像进行高斯滤波,为什么结果不同?

用skimage和opencv对同一个灰度图像进行高斯滤波,为什么结果不同?

我尝试用skimage和opencv对同一个图像进行高斯滤波,代码如下

import numpy as np
from skimage import data,filters,color
from matplotlib import pyplot as plt
import cv2

src_img = color.rgb2gray(data.camera())
plt.subplot(311)
dst_img1 = filters.gaussian(src_img,sigma=1,truncate=1)
plt.imshow(dst_img1,cmap='gray')
plt.subplot(312)
dst_img2 = cv2.GaussianBlur(src_img, (3,3), 1)
plt.imshow(dst_img2,cmap='gray')
plt.subplot(313)
dist = dst_img1 - dst_img2
plt.imshow(dist,cmap='gray')
plt.show()

如果两种方法得到的滤波结果相同,那么dist灰度值应该均为0,但是程序输出了如图的结果

img

请教这是为什么?感谢!

参数不一样