2016-04-15 70 views
0

我无法理解为什么下面的代码引发了SIGABRT。OpenCV cvtColor HSV2RGB声明

cv::Mat someColor(1,1,CV_8UC3); 
someColor.at<cv::Scalar>(0,0) = cv::Scalar(100, 100, 100); 
cv::cvtColor(someColor, someColor, cv::COLOR_HSV2RGB); 

提供很少的调试信息。它在cvtColor调用上声明。 它应该像创建1像素HSV矩阵一样简单,并将其转换为RGB色彩空间。

谁能帮助?

+0

CV_8UC3心不是CV ::标量,但CV :: Vec3b – Micka

+0

并张贴断言文本;) – Micka

回答

1

有在这条线的一个问题

someColor.at<cv::Scalar>(0,0) = cv::Scalar(100, 100, 100); 

你可以像

cv::Mat someColor(1,1,CV_8UC3,cv::Scalar(100, 100, 100)); 
cv::cvtColor(someColor, someColor, cv::COLOR_HSV2RGB); 
cout << someColor; 

输出:[61,87,100]

相关问题