如何仅将光流矢量应用于检测到的圆
how to apply optical flow vector to detected circle only
我正在从事交通标志检测项目。已检测到圆形交通标志,现在我只想计算交通标志的光流矢量,而不是整个图像。
我可以找到检测到的圆的半径,但不确定如何使用它来创建圆形掩码 IplImage 以提供给 "cvGoodFeatureToTrack" 和 "cvCalcOpticalFlowPyrLK()"
有什么建议吗?
假设您有交通标志的中心和半径,即:
cv::Point center(200, 300);
int radius = 50;
感兴趣的区域,goodFeaturesToTrack
将起作用,可以通过 CV_8UC1
掩码控制,该掩码与输入图像具有相同的大小:
cv::Mat mask = cv::Mat::zeros(grayFrame.size(), CV_8UC1);
cv::circle(mask, center, radius, cv::Scalar::all(255), -1);
最后根据交通标志用我们新的掩码填充255来调用函数:
cv::goodFeaturesToTrack(grayFrame, corners, 100, 0.01, 10, mask);
我正在从事交通标志检测项目。已检测到圆形交通标志,现在我只想计算交通标志的光流矢量,而不是整个图像。 我可以找到检测到的圆的半径,但不确定如何使用它来创建圆形掩码 IplImage 以提供给 "cvGoodFeatureToTrack" 和 "cvCalcOpticalFlowPyrLK()"
有什么建议吗?
假设您有交通标志的中心和半径,即:
cv::Point center(200, 300);
int radius = 50;
感兴趣的区域,goodFeaturesToTrack
将起作用,可以通过 CV_8UC1
掩码控制,该掩码与输入图像具有相同的大小:
cv::Mat mask = cv::Mat::zeros(grayFrame.size(), CV_8UC1);
cv::circle(mask, center, radius, cv::Scalar::all(255), -1);
最后根据交通标志用我们新的掩码填充255来调用函数:
cv::goodFeaturesToTrack(grayFrame, corners, 100, 0.01, 10, mask);