浮動小数点ピクセル座標を持つマトリックスと、この浮動小数点ピクセル座標に対応するグレースケール値のマトリックスがあります。浮動小数点ピクセル座標から通常のグリッドに画像を再マップする必要があります。opencv の cv::remap 関数は、ソース イメージを次のように変換します: dst(x,y) = src(mapx(x,y), mapy(x,y)) 私の場合、次のようなものがあります: dst(mapx (x,y), mapy(x,y)) = src(x,y) 上記の式から、目的の画像 (dst(x,y)) を決定する必要があります。OpenCv でこのような再マッピングを実行する簡単な方法はありますか、または問題を解決するために他のオープン ソースの画像処理ライブラリを提案できますか?
質問する
1866 次
1 に答える
1
- 写真の四隅を取ります。
- dst 画像で特派員を抽出します。それらを 2 つの点ベクトルに格納します
std::vector<cv::Point> dstPts, srcPts
。 - それらの間の幾何学的関係を抽出します
cv::findHomography(dstPts, srcPtrs,...)
- cv::warpPerspective() を適用します。内部的には、正しい再マッピングを計算して適用します
マップで定義された変換がホモグラフィック変換である場合に機能します。渦巻き、魚眼効果、レンズ補正マップなどだとうまくいきません。
于 2012-08-22T08:16:16.247 に答える