我正在编写一个代码来从视频提要中单独提取黄色。在将其转换为HSV之后,我在inRangeS函数中为该帧提供信息。我也有一个上限,下限和输出框架。
这是我的密码:-
cam>>frame;
imshow("Main",frame);
cvtColor(frame,frame,COLOR_BGR2HSV);
imshow("HSV",frame);
cvInRange(frame,cvScalar(20,100,100),cvScalar(30,255,255),redspace);
imshow("Red",redspace);
它会产生以下错误:
error: cannot convert ‘cv::Mat’ to ‘const CvArr* {aka const void*}’ for argument ‘1’ to ‘void cvInRange(const CvArr*, const CvArr*, const CvArr*, CvArr*)’
cvInRange(frame,cvScalar(20,100,100),cvScalar(30,255,255),redspace);
发布于 2015-09-29 05:31:20
您使用的是cvInRange
函数,它来自OpenCV的旧C接口。
如果您正在使用cv::Mat
,则必须按照以下方式使用来自C++接口的函数cv::inRange
。
cv::inRange(frame,cv::Scalar(20,100,100),cv::Scalar(30,255,255),redspace);
https://stackoverflow.com/questions/32836129
复制相似问题