下面这份代码用于实现对图像的缩放与旋转。
OpenCV版本:2.4.2
// 图像旋转与缩放
// Author: www.icvpr.com
// Blog: http://blog.youkuaiyun.com/icvpr
#include <iostream>
#include <vector>
#include <opencv2/opencv.hpp>
int main(int argc, char** argv)
{
cv::Mat image = cv::imread("../test.jpg");
if (image.empty())
{
std::cout<<"read image failure"<<std::endl;
return -1;
}
cv::Point2f center = cv::Point2f(image.cols / 2, image.rows / 2); // 旋转中心
double angle = 30; // 旋转角度
double scale = 0.5; // 缩放尺度
cv::Mat rotateMat;
rotateMat = cv::getRotationMatrix2D(center, angle, scale);
cv::Mat rotateImg;
cv::warpAffine(image, rotateImg, rotateMat, image.size());
cv::imwrite("../rotate.jpg", rotateImg);
return 0;
}
原图: