我正在尝试使用密集光流对图像进行复杂的扭曲。我正在尝试将第二张图像扭曲成与第一张图像大致相同的形状。
cv::Mat flow;
cv::calcOpticalFlowFarneback( mGrayFrame1, mGrayFrame2, flow, 0.5, 3, 15, 3, 5, 1.2, 0 );
cv::Mat newFrame = cv::Mat::zeros( frame.rows, frame.cols, frame.type() );
cv:remap( frame, newFrame, flow, cv::Mat(), CV_INTER_LINEAR );
我从两个灰度帧计算流量。我现在正在尝试使用该cv::remap
功能使用此流信息重新映射我的原始(即非灰度)图像。但是,我从中得到了一个非常严重扭曲的图像。我只是最终得到一个与我的原始图像有点相似的橙色和黑色图像。
如何使用cv::remap
计算flow
?