我正在使用openCv的warpAffine()
函数旋转一张图片,以下是这段代码:
void rotateImage(const Mat &src, Mat &dest, double angle)
{
cv::Point2f point(src.cols/2, src.rows/2);
Mat rotationMatrix = cv::getRotationMatrix2D(point, angle, 1.0);
cv::warpAffine(src, dest, rotationMatrix, cv::Size(src.cols, src.rows));
}
如果我将图像旋转90度的倍数(以度为单位),则它可以正常工作,但如果使用任意角度旋转,则会导致图像严重模糊。
例如:
原始图像
旋转90度的倍数后-
旋转30度的倍数后-
那么有没有办法旋转图像并避免引起的模糊?