1 | initial version |
Try this:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
void PutRotateText(cv::Mat& src, double angle, cv::Mat& dst)
{
int _len = std::max(src.cols, src.rows);
cv::Point2f pt(_len/2., _len/2.);
cv::Mat r = cv::getRotationMatrix2D(pt, angle, 1.0);
cv::warpAffine(src, dst, r, cv::Size(_len, _len));
}
int main() {
Mat _img = imread("messi.jpg", CV_LOAD_IMAGE_COLOR);
// Create and rotate the red text
Mat messi_Imgage = Mat::zeros(_img.rows, _img.cols, _img.type());
putText(messi_Imgage, "lionel messi", Point(0, _img.cols/2), FONT_HERSHEY_SIMPLEX, 2.0,Scalar(255,0,0),2);
PutRotateText(messi_Imgage, -30, messi_Imgage);
img+= messi_Imgage;
namedWindow("Rotate Text", CV_WINDOW_AUTOSIZE);
imshow("Rotate Text", _img);
waitKey(0);
return 0;
}