goodFeaturesToTrack()仅适用于灰度?

时间:2017-07-07 20:42:25

标签: c++ opencv

我是初学者,在openCV工作。我试图在彩色图像中使用c ++中的goodFeaturesToTrack()检测图像中的特征,但它给了我以下错误:

“OpenCV错误:断言失败(src.type()== CV_8UC1 || src.type()== CV_32FC1)在cv :: cornerEigenValsVecs中,文件D:\ cs436 \ opencv-3.2.0 \ modules \ imgproc \ src \ corner.cpp,第287行“

然后我在灰度图像上尝试了它,它找到了这些功能。任何人都可以告诉我们是否可以在彩色图像上使用该功能?这个错误意味着什么?

2 个答案:

答案 0 :(得分:1)

goodFeaturesToTrack()的文档中,image参数采用8位或32位单通道图像。单通道意味着灰度。

所以是的,该功能仅适用于灰度图像。错误消息还表明,src.type()必须有1个通道,如CV_8U C1 和CV_32F C1

所示

答案 1 :(得分:0)

该功能仅适用于灰度图像。要应用彩色图像,您必须通过以下方式将rgb图像转换为灰度图像:

cv::cvtColor(rgbImage, grayImage, CV_BGR2GRAY);