c++ opencv 图像旋转
时间: 2024-02-25 11:50:25 浏览: 92
在C++中使用OpenCV进行图像旋转非常简单。下面是一个简单的示例代码,展示了如何使用OpenCV对图像进行旋转:
```cpp
#include <opencv2/opencv.hpp>
int main() {
// 读取图像
cv::Mat image = cv::imread("image.jpg");
// 定义旋转角度和缩放比例
double angle = 45.0;
double scale = 1.0;
// 计算旋转中心
cv::Point2f center(image.cols / 2, image.rows / 2);
// 获取旋转矩阵
cv::Mat rotationMatrix = cv::getRotationMatrix2D(center, angle, scale);
// 应用旋转变换
cv::Mat rotatedImage;
cv::warpAffine(image, rotatedImage, rotationMatrix, image.size());
// 显示原始图像和旋转后的图像
cv::imshow("Original Image", image);
cv::imshow("Rotated Image", rotatedImage);
cv::waitKey(0);
return 0;
}
```
在上面的代码中,我们首先使用`cv::imread`函数读取图像。然后,我们定义了旋转角度和缩放比例。接下来,我们计算了旋转中心,并使用`cv::getRotationMatrix2D`函数获取旋转矩阵。最后,我们使用`cv::warpAffine`函数应用旋转变换,并将结果保存在`rotatedImage`中。最后,我们使用`cv::imshow`函数显示原始图像和旋转后的图像,并使用`cv::waitKey`等待用户按下任意键关闭窗口。
希望这个示例能够帮助到你!如果你有任何进一步的问题,请随时提问。
阅读全文