您的位置:首页 > 运维架构

OpenCV实现图片旋转

2018-03-01 13:52 267 查看
利用仿射变换实现图像旋转
/************************************************************************/
/* 旋转图片:angle>0 逆时针 angle<0 顺时针 */
/************************************************************************/
void ImgRotate(Mat& src, Mat& dst, double angle)
{
Point2f center(src.cols / 2, src.rows / 2);
Mat rot = cv::getRotationMatrix2D(center, angle, 1);
Rect bbox = cv::RotatedRect(center, src.size(), angle).boundingRect();

rot.at<double>(0, 2) += bbox.width / 2.0 - center.x;
rot.at<double>(1, 2) += bbox.height / 2.0 - center.y;

warpAffine(src, dst, rot, bbox.size());

return;
}

int main()
{
//图片旋转
Mat src = imread("1_a.png");
double angle = -45;
Mat dst;
ImgRotate(src, dst, angle);

cout << "OK" << endl;
getchar();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OpenCV 图像旋转