输入图像和角度获取旋转后的图像
bool Rotate2(Mat &src,Mat &dst,float angle )
{
#define SCALE 1 //缩放比例
double anglerad = (CV_PI* (angle/180)) ;
int newheight =int (fabs(( sin(anglerad)*src.cols )) + fabs(( cos(anglerad)*src.rows )) );
int newwidth =int (fabs(( sin(anglerad)*src.rows)) + fabs(( cos(anglerad)*src.cols)) );
Mat tempImg(newheight,newwidth,src.type());
int ROI_x = newwidth/2 - src.cols/2;
int ROI_y = newheight/2 - src.rows/2;
Rect ROIRect(ROI_x,ROI_y,src.cols,src.rows);//ROI矩形
Mat tempImgROI2(tempImg,ROIRect);
src.copyTo(tempImgROI2);
Point2f center(newheight/2,newwidth/2);
Mat M = getRotationMatrix2D(center,angle,SCALE);
warpAffine(tempImg,dst,M,Size(src.cols,src.rows));
return true;
}