0

我在图像上应用 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)

原始图像: 在此处输入图像描述 新图像: 在此处输入图像描述 这是正确的行为吗?我想保留颜色细节。

4

1 回答 1

0

问题在于将图像读取为:

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

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

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

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

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

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

您可以参考cv2.imread() 文档以获取更多信息。

于 2017-12-03T07:35:42.790 回答