Rotate image using C++

In this tutorial, we will rotate an Image at 45, 90 & 180 degrees using OpenCV in C++. Opencv is a library that contains multiple computer-vision libraries, used for real-time computer vision.

Requirements:


To get started you need to install OpenCV in your system. You can follow the OpenCV documentation to install it into your system.

Code:

To rotate the image at 45 degrees:

#include <opencv2/opencv.hpp>

int main() {
    // Read the image
    cv::Mat image = cv::imread("image.jpg");

    // Check if the image is loaded successfully
    if(image.empty()) {
        std::cerr << "Error: Could not read the image." << std::endl;
        return -1;
    }

    // Define rotation angle (in degrees)
    double angle = 45.0;

    // Get rotation matrix
    cv::Point2f center(static_cast<float>(image.cols) / 2, static_cast<float>(image.rows) / 2);
    cv::Mat rotationMatrix = cv::getRotationMatrix2D(center, angle, 1.0);

    // Rotate the image
    cv::Mat rotatedImage;
    cv::warpAffine(image, rotatedImage, rotationMatrix, image.size());

    // Display the rotated images
    cv::imshow("Rotated Image", rotatedImage);
    cv::waitKey(0);

    return 0;
} 

To rotate the image at 90 degrees:

#include <opencv2/opencv.hpp>

int main() {
    // Read the image
    cv::Mat image = cv::imread("image.jpg");

    // Check if the image is loaded successfully
    if(image.empty()) {
        std::cerr << "Error: Could not read the image." << std::endl;
        return -1;
    }
    cv::Mat rotated;
    cv::rotate(image, rotated, cv::ROTATE_90_CLOCKWISE);

    // Display the original and rotated images
    cv::imshow("Rotated Image", rotated);
    cv::waitKey(0);

    return 0;
} 

To rotate the image at 180 degrees:

#include <opencv2/opencv.hpp>

int main() {
    // Read the image
    cv::Mat image = cv::imread("image.jpg");

    // Check if the image is loaded successfully
    if(image.empty()) {
        std::cerr << "Error: Could not read the image." << std::endl;
        return -1;
    }
    cv::Mat rotated;
    cv::rotate(image, rotated, cv::ROTATE_180);

    // Display the original and rotated images
    cv::imshow("Rotated Image", rotated);
    cv::waitKey(0);

    return 0;
}

Output:

Original Image:

Rotated at 45 degrees:

Rotated at 90 degrees:

Rotated at 180 degrees:

 

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top