一、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;
}
调试结果
四、_End
.