Dense Optical Flowを使用してイメージの複雑なワープを実行しようとしています(2番目のイメージを最初のイメージとほぼ同じ形にワップしようとしています)。OpenCV warping image on calcOpticalFlowFarneback
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);
アイデア私は2つのグレースケールフレームから流れマットを計算していますその場合:私はおそらく、私が試したものを、このすべて間違っているが、病気のポストを取得しています。私は理にかなっているように見えるフローマットを取り戻すが、今はこのフロー情報を使って元の(すなわちグレースケールでない)イメージを再マップしようとしている。
リマップ機能は私が望むものだと思っていましたが、非常にひどく歪んだ画像が得られました。色情報はまったく生き残れません。私は元のイメージと少し似ているオレンジ色の黒いイメージで終わるだけです。
私はリマップ機能を誤解だし、それは私がそれをやりたいしないかまたは私は私が渡している何と間違って何かを得ていることを推測している。
をした場合私はこの問題をどのように解決できるかについて誰かに何か提案がありましたか?後者の場合、何が間違っていますか?
大変助かりました!
こんにちは、私はこの記事を見ましたが、私はほぼ同じ問題を抱えています(まったく同じ問題が確定しています)。 (私はこの投稿が古いことを知っています。それについては申し訳ありませんが、現時点では何の応答も見つけられません:o) ありがとう! –
@RaphaelSchimchowitsch:あなた自身の質問を始めるのが最善でしょう。私はこれを行うために書いたコードをまだ持っていても、私は何かを得ることができませんでした。今度はオプティカルフローであったかどうか確かめてください... – Goz
ああ、私はすでに自分の質問を投稿しましたが、私はこの投稿を見つけたので、あなたが私を助けることができるかどうか疑問に思っていました:) しかし、応答:) –