一連の点の傾きを補正するために cv::warpPerspective を適用する方法
一連の点に対して透視変換を実行して、スキュー補正効果を考慮すると、ポイントの適切な構成と適切な使用方法を理解することが重要です。 cv::getPerspectiveTransform.
正しいポイント順序の確保
ROI の角を表すポイントは、ソース ベクトルとデスティネーション ベクトルの両方で特定の順序に従う必要があります。たとえば、ソース ポイントが (左上、左下、右下、右上) のように配置されている場合、デスティネーション ポイントもこの順序に従う必要があります。
画像サイズの設定
結果の画像に目的のオブジェクトのみが含まれるようにするには、その幅と高さを、周囲の長方形の境界ボックスの幅と高さに一致するように設定します。 ROI.
効率化のためのアフィン変換の使用
アフィン変換 (回転、サイズ変更、デスキュー) には、関数 getAffineTransform および warpAffine を使用する方が効率的です。これらの関数は、3 行 3 列の行列ではなく、3 つの点と 2 行 3 列の行列のみを必要とします。
宛先の画像サイズの設定
宛先を作成するには入力と異なるサイズの画像を指定するには、次の構文を使用します。 cv::warpPerspective:
cv::warpPerspective(src, dst, dst.size(), ... );
または cv::warpAffine:
cv::warpAffine(src, rotated, warpAffineMatrix, size, INTER_LINEAR, BORDER_CONSTANT);
以上が画像の傾き補正に cv::warpPerspective を正しく使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。