温馨提示×

如何用C++进行图像的rotate处理

c++
小樊
85
2024-08-24 01:23:30
栏目: 编程语言

要在C++中对图像进行旋转处理,可以使用OpenCV库。以下是一个简单的示例代码,演示如何使用OpenCV对图像进行旋转:

#include <opencv2/opencv.hpp>

int main() {
    // 读取图像
    cv::Mat src = cv::imread("input.jpg");

    if (src.empty()) {
        std::cerr << "Error: Could not read image file." << std::endl;
        return -1;
    }

    // 旋转角度
    double angle = 45.0;

    // 获取图像中心点
    cv::Point2f center((src.cols - 1) / 2.0, (src.rows - 1) / 2.0);

    // 计算旋转矩阵
    cv::Mat rot = cv::getRotationMatrix2D(center, angle, 1.0);

    // 应用旋转矩阵
    cv::Mat dst;
    cv::warpAffine(src, dst, rot, src.size());

    // 显示原始图像和旋转后的图像
    cv::imshow("Original Image", src);
    cv::imshow("Rotated Image", dst);
    cv::waitKey(0);

    return 0;
}

在这个示例中,我们首先读取一张图像,然后指定旋转角度并计算旋转矩阵。最后,我们使用warpAffine函数来对图像进行旋转,并显示原始图像和旋转后的图像。请确保安装了OpenCV库并正确配置项目以使用它。

0