python-3.x - 我可以将自定义图像转换为灰度吗?
问题描述
此图像包含我的代码以及 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
解决方案
您的图像已经是灰度的,因此您无法将其转换为灰度。您使用以下方法创建了它:
img = np.ones((512,512))
它只有 2 个维度。如果它是彩色的,它将有 3 个维度:
img = np.ones((512,512,3))
其中附加维度包含 3 个 RGB 通道。
推荐阅读
- c++ - 头文件中的 constexpr const char*
- azure-cosmosdb - CosmosDB 的 Python SDK 是否不允许进行令牌/凭据身份验证?
- reactjs - 如何从其他组件触发组件更改?
- excel - 连接彼此偏移的幂查询列
- android - Flutter:在 /usr/lib/android-sdk/platforms 中找不到有效的 Android SDK 平台。目录为空
- maven-surefire-plugin - 报告 @TestFactory 的测试用例名称
- azure - Azure devops VSTS 现在没有在我的主机上安装 awscli,以前可以工作
- python - 按顺序合并数据框列表
- .net - 模型存储 edmx 文件不会在调试模式下生成,但会在发布模式下生成
- android - 无法开始使用 Fetch 库下载文件