gpt4 book ai didi

c++ - 在 OpenCV 中将 HSV 转换为 RGB 失败

转载 作者:行者123 更新时间:2023-11-28 01:48:38 25 4
gpt4 key购买 nike

OpenCV documentation cvtColor() 不提供有关 HSV 到 BGR 转换的信息。它表示不支持将 16 位图像从 RGB 转换为 HSV。

我需要将每像素超过 8 位(16 位或 32 位都可以)的 HSV 图像转换为 RGB 图像。下面的代码给出了运行时错误。

cv::Mat hsv(10, 10, CV_16UC3, cv::Scalar(0)); // same in cv::Mat hsv(10, 10, CV_32F);
cv::Mat rgb(hsv.size(), hsv.type());
cv::cvtColor(hsv, rgb, cv::COLOR_HSV2BGR);

这是运行时错误

OpenCV 错误:断言失败 (scn == 3 && (dcn == 3 || dcn == 4) && (depth == CV_8U || depth == CV_32F)) in cv::ipp_cvtColor, file C:\InstalledPrograms\opencv_3.1\sources\modules\imgproc\src\color.cpp

最佳答案

您必须使用 CV_32FC3 而不是 CV_32F,因为您需要 3 个 channel 。

根据您针对 CV_16UC3 的错误消息(除文档外),RGB/BGR=>HSV 和 HSV=>RGB/BGR 均不支持 16 位

关于c++ - 在 OpenCV 中将 HSV 转换为 RGB 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43871707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com