首页 > 解决方案 > 我可以将自定义图像转换为灰度吗?

问题描述

此图像包含我的代码以及 eroor。尝试将 BGR 图像转换为灰度时出现错误。

该错误在图像中进行了描述,并在下面给出:

错误:OpenCV(4.1.1)/Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/color.simd_helpers.hpp:92:错误:(-2:未指定的错误)在函数'cv ::impl::(匿名命名空间)::CvtHelper, cv::impl::(匿名命名空间)::Set<1, -1, -1>, cv::impl::(匿名命名空间)::Set< 0, 2, 5>, cv::impl::(匿名命名空间)::SizePolicy::NONE>::CvtHelper(InputArray, OutputArray, int) [VScn = cv::impl::(匿名命名空间)::Set <3, 4, -1>, VDcn = cv::impl::(匿名命名空间)::Set<1, -1, -1>, VDepth = cv::impl::(匿名命名空间)::Set< 0, 2, 5>, sizePolicy = cv::impl::(匿名命名空间)::SizePolicy::NONE]'

输入图像中的通道数无效:“VScn::contains(scn)”,其中“scn”为 1

标签: python-3.xopencv

解决方案


您的图像已经是灰度的,因此您无法将其转换为灰度。您使用以下方法创建了它:

img = np.ones((512,512))

它只有 2 个维度。如果它是彩色的,它将有 3 个维度:

img = np.ones((512,512,3))

其中附加维度包含 3 个 RGB 通道。


推荐阅读