前言
getRotationMatrix2D 计算获取旋转矩阵
warpAffine 仿射变换
测试代码
#include <iostream>
#include <vector>
#include <opencv2/opencv.hpp>
// 图像旋转和仿射变换
int main()
{
cv::Mat src = cv::imread("./image/4.png");
if (src.empty())
std::cout << "imread image fail!" << std::endl;
cv::Mat angle_img;
double angle = 10; // 旋转角度
cv::Point2f centor(src.rows / 2.0, src.cols / 2.0); // 旋转中心
cv::Size dst_size(src.cols, src.rows); // 目标图像尺寸
cv::Mat rotation = cv::getRotationMatrix2D(centor, angle, 1 ); // 获取旋转矩阵
cv::warpAffine(src, angle_img, rotation, dst_size); // 仿射变换
cv::imshow("src", src);
cv::imshow("angle_img", angle_img);
cv::waitKey(0);
return 0;
}