2016-10-13 2 views
0

私は、applyを適用するイメージをcv :: warpAffineを使って持っています。cv :: warpAffine - ネガティブイメージ座標

私は同じ変換を適用するポイントのセットも持っています。

ここで、ワープポイント周辺のピクセルをサンプリングします。問題は、画像とポイントを歪ませると、これらのポイントの一部がマイナスになることです(そのため、単に.at(i、j)を使ってそれらにアクセスすることはできません)。

これには優雅な方法がありますか?

ありがとうございました。

+2

各点について、画像にまだアクセスしていないかどうかをテストします。画像をシフトして、すべての点が画像内に残るようにするには、ワーピングする前にポイントを変換して変換を調整します(変換の転置パラメータに-floor(minX)と-floor ) – Micka

+1

、または変換点をサンプリングすると、変換を反転し、元の画像内の新しいサンプル点に逆変換してアクセスすることができます。 – Micka

答えて

1

あなたができることは、画像の四隅をワープして、結果のワープ画像の最大、最小座標を取得し、minX、minY値に基づいて原点に戻します。 翻訳のためのhomograhyマトリックスは、このようなものです。 h_trans = [1, 0, -minX, 0, 1, -minY, 0, 0, 1]。この行列に元の行列を掛けて、結果の変換を得ることができます。