[c++] 이미지 이진화

여러가지 방법이 있지만 C++에서 OpenCV 라이브러리를 사용하여 이미지 이진화를 수행해보겠습니다.

먼저, OpenCV 라이브러리를 설치하고 include하여 사용합니다. 아래는 이미지 이진화하는 간단한 C++ 코드입니다.

#include <opencv2/opencv.hpp>

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

    cv::Mat binaryImage;
    cv::threshold(inputImage, binaryImage, 128, 255, cv::THRESH_BINARY);

    cv::imwrite("output.jpg", binaryImage);

    return 0;
}

이 코드는 OpenCV를 사용하여 input.jpg 이미지를 흑백으로 변환한 후 output.jpg로 저장합니다. cv::threshold 함수는 이미지 이진화에 사용되며, 첫 번째 매개변수는 입력 이미지, 두 번째 매개변수는 출력 이미지, 세 번째 매개변수는 임계값, 네 번째 매개변수는 최대값, 다섯 번째 매개변수는 이진화 방법을 지정합니다.

이진화된 이미지는 “output.jpg”로 저장되며, 프로그램을 실행한 디렉토리에 생성됩니다.

이미지 이진화에 대한 더 자세한 설명은 OpenCV 공식 문서를 참조하시기 바랍니다.