将HSV转换为RGB在OpenCV中失败
Converting HSV to RGB fails in OpenCV
cvtColor()
的OpenCV文档没有提供有关HSV到BGR转换的信息。它说不支持从RGB到16位图像的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 Error: Assertion failed (scn == 3 && (dcn == 3 || dcn == 4) && (depth == CV_8U || depth == CV_32F)) in cv::ipp_cvtColor, file C:InstalledProgramsopencv_3.1sourcesmodulesimgprocsrccolor.cpp
而不是CV_32F
你必须使用CV_32FC3
,因为你需要3个通道。
根据您的错误消息(除了文档之外(,CV_16UC3
的 RGB/BGR=>HSV 和 HSV=>RGB/BGR 都不支持 16 位
相关文章:
- 安装opencv失败-粘贴CMakeError.log的内容
- OpenCV Tracker 属性访问在 ARM 上因 SEGFAULT 而失败,但在 X86_64 中工作
- 使用imwrite OpenCV时断言失败
- CUDA opencv 构建失败 - 缺少实际存在的文件
- OpenCV 简单 2D 矩阵乘法失败
- OpenCV 错误:相机校准:断言在matrix_wrap.cpp失败
- OpenCV(3.4.1) 错误:断言失败(变暗 <= 2 && step[0] > 0) in cv::Mat::locateROI
- OpenCV 错误:断言失败 - 矩阵减去
- 断言点数失败,在OpenCV的solvePNP上
- OpenCV 错误:断言在 cv::Mat 行 522 中失败
- Android opencv 3.4.1 Build 命令失败.未定义的引用
- OpenCV 错误:断言失败(((((sizeof(size_t)<<28)|0x8442211)....957路
- C++ / CannyEdgeDetection.exe 已停止工作 代码块 /OpenCV 错误:断言失败
- CMAKE:导入时链接 OpenCV 失败
- 断言ROI opencv失败
- 在Qiana上建造opencv失败
- 编译iOS版OpenCV失败-Cmake失败
- 使用OpenCVConfig.cmake编译aam opencv失败
- Opencv-生成Opencv失败(MacOSX)
- 编译opencv失败,cap_gstreamer错误