我尝试使用cvInRange()
库中的OpenCV
函数,但是,当我使用时:
cvInRange(image, cvScalar(100, 0, 0), cvScalar(256, 0, 0), processedImage);
我收到以下错误:
cannot convert ‘CvScalar’ to ‘const CvArr* {aka const void*}’ for argument ‘2’ to ‘void cvInRange(const CvArr*, const CvArr*, const CvArr*, CvArr*)’
cvInRange(image, cvScalar(100, 0, 0), cvScalar(256, 0, 0), processedImage);
有没有一种方法可以将
cvInRange()
的最小和最大阈值指定为CvArr
,以防止发生此问题,或者是否有其他方法可以解决此问题? 最佳答案
cvInRange()
有多个版本。您想要的一个是 cvInRangeS()
,它将CvScalar
作为两个阈值参数。用cvInRange()
替换对cvInRangeS()
的调用将解决您的问题。
关于c++ - OpenCV cvInRange()无法与cvScalar()一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17820964/