我是初学者,在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行“
然后我在灰度图像上尝试了它,它找到了这些功能。任何人都可以告诉我们是否可以在彩色图像上使用该功能?这个错误意味着什么?
答案 0 :(得分:1)
从goodFeaturesToTrack()
的文档中,image
参数采用8位或32位单通道图像。单通道意味着灰度。
所以是的,该功能仅适用于灰度图像。错误消息还表明,src.type()必须有1个通道,如CV_8U C1 和CV_32F C1
所示答案 1 :(得分:0)
该功能仅适用于灰度图像。要应用彩色图像,您必须通过以下方式将rgb图像转换为灰度图像:
cv::cvtColor(rgbImage, grayImage, CV_BGR2GRAY);