[c++] 이미지 변형

이미지 변형이란 이미지를 조작하여 원래의 형상을 유지하면서 새로운 특성을 부여하는 프로세스를 말합니다. C++를 사용하여 이미지를 변형할 때는 픽셀 수준에서 작업하여 이미지를 수정합니다.

이미지 불러오기

가장 먼저, 이미지를 프로그램에 불러와야 합니다. C++에서는 OpenCV와 같은 라이브러리를 사용하여 이미지를 불러올 수 있습니다.

#include <opencv2/opencv.hpp>

int main() {
    cv::Mat image = cv::imread("image.jpg");
    if (image.empty()) {
        std::cerr << "이미지를 불러올 수 없습니다." << std::endl;
        return -1;
    }

    // 이미지 변형 작업을 수행합니다
    // ...
    return 0;
}

이미지 변형

회전

이미지를 회전시키는 것은 각 픽셀의 좌표를 변경하여 수행됩니다. OpenCV를 사용하여 이미지를 시계 방향으로 90도 회전하는 방법은 다음과 같습니다.

cv::Mat rotated;
cv::rotate(image, rotated, cv::ROTATE_90_CLOCKWISE);

리사이징

이미지의 크기를 조절하는 것은 이미지 변형 작업 중에서 일반적인 것입니다. 이미지를 반으로 줄이려면 다음과 같이 코드를 작성할 수 있습니다.

cv::Mat resized;
cv::resize(image, resized, cv::Size(image.cols / 2, image.rows / 2));

필터링

이미지 필터링을 통해 이미지를 흐리게 만들거나 날카롭게 만들 수 있습니다. 예를 들어, 이미지를 가우시안 블러로 처리하는 방법은 다음과 같습니다.

cv::Mat blurred;
cv::GaussianBlur(image, blurred, cv::Size(3, 3), 0);

저장

이미지를 변형한 후에는 새로운 이미지를 파일로 저장할 수 있습니다.

cv::imwrite("modified_image.jpg", modifiedImage);

C++를 사용하여 이미지를 변형하는 방법에 대한 간단한 소개였습니다. 이미지 처리에 대한 더 많은 기능을 사용할 수 있습니다.

더 많은 정보에 대해서는 OpenCV 공식 문서를 참조하세요.