opencv图像旋转处理C++小程序
时间: 2023-08-03 22:04:16 浏览: 115
当然,下面是一个用C++编写的OpenCV图像旋转处理的小程序示例:
```cpp
#include <opencv2/opencv.hpp>
int main() {
// 读取图像
cv::Mat image = cv::imread("input.jpg");
// 检查图像是否成功读取
if (image.empty()) {
std::cout << "无法读取图像文件" << std::endl;
return -1;
}
// 原始图像的宽度和高度
int width = image.cols;
int height = image.rows;
// 设置旋转中心和角度
cv::Point2f center(width / 2, height / 2);
double angle = 45;
// 获取旋转矩阵(2x3矩阵)
cv::Mat rotationMatrix = cv::getRotationMatrix2D(center, angle, 1.0);
// 执行旋转操作
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;
}
```
请确保将代码中的"input.jpg"替换为您自己的图像文件路径。上述代码使用`cv::getRotationMatrix2D`函数获取旋转矩阵,然后使用`cv::warpAffine`函数执行实际的图像旋转操作。最后,使用`cv::imshow`函数显示原始图像和旋转后的图像。
阅读全文