cv::RotateRect rect;
cv::Mat image;
cv::Vec2d points[4] = {
cv::Vec2d(rect.size.width * 0.5, rect.size.heigtht 0.5),
cv::Vec2d(rect.size.width * 0.5, -rect.size.heigtht 0.5),
cv::Vec2d(-rect.size.width * 0.5, -rect.size.heigtht 0.5),
cv::Vec2d(-rect.size.width * 0.5, rect.size.heigtht 0.5),
};
double theta= rect.angle * 3.14159 / 180.0;
double a00 = cos(theta),a01 = -sin(theta);
double a10 = sin(theta),a11 = cos(theta);
cv::Point2d newPoints[4];
for(int i = 0; i < 4; ++i){
newPoints[i].x = points[i][0] * a00 + point[i][1] * a01;
newPoints[i].y = points[i][0] * a10 + point[i][1] * a11;
}
for(int i = 0; i < 4; ++i){
cv::line(image,newPoints[i],newPoints[(i+1)%4]),cv::Scalar(0,0,255),1);
}