OpenCV gaussianblur 使图像颜色松散

OpenCV gaussianblur making image loose colors

我正在图像上应用 OpenCV 的 GaussianBlur。生成的图像看起来缺少原始图像所具有的颜色。

我的代码:

originalImage = cv2.imread('path to original image',0)
blurredImage = cv2.GaussianBlur(originalImage,(15,15),0)
cv2.imwrite('path to save the new image', blurredImage)

原图: 新图片: 这是正确的行为吗?我想保留颜色细节。

问题在于将图像读取为的行:

originalImage = cv2.imread('path to original image',0)

cv2.imread() 中的参数 0 指示库读取灰度图像,而不考虑原始图像配置。要解决此问题,您可以调用不带参数的 cv2.imread()

originalImage = cv2.imread('path to original image')

此命令指示库读取 BGR 配置中的图像。

但是如果你想以完全相同的格式读取图像,那么你可能需要调用:

originalImage = cv2.imread('path to original image', -1)

您可以参考cv2.imread() docs了解更多信息。