[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 공식 문서를 참조하시기 바랍니다.
- OpenCV 공식 문서: https://docs.opencv.org/4.x/index.html