画像を1~5度程度の小さな角度で回転させる必要があるのですが、オープンCVそれを実行する簡単な方法を提供しますか?ドキュメントを読むと、私は次のように推測できますアフィン変換を取得します。関与する必要がありますが、次のようなことを直接行う例はありません。
IplImage *rotateImage( IplImage *source, double angle);
ベストアンサー1
OpenCV > 2.0を使用する場合は、次のように簡単です。
using namespace cv;
Mat rotateImage(const Mat& source, double angle)
{
Point2f src_center(source.cols/2.0F, source.rows/2.0F);
Mat rot_mat = getRotationMatrix2D(src_center, angle, 1.0);
Mat dst;
warpAffine(source, dst, rot_mat, source.size());
return dst;
}
注記:角度はラジアンではなく度単位です。
詳細については C++ インターフェイスのドキュメントを参照し、必要に応じて調整してください。