[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 공식 문서를 참조하세요.