pip install과 같은 간편한 방법이 없지만, 대신 패키지 매니저나 CMake로 외부 라이브러리를 관리할 수 있어. 먼저 OpenCV를 로컬에 설치해야 해. 아래 단계에 따라 OpenCV를 다운로드하고 빌드해보자.
# 프로젝트 디렉토리 이동
cd ~/your-calculator-repo
# external 폴더 생성 후 OpenCV 레포를 클론
mkdir external
cd external
git clone https://github.com/opencv/opencv.git
cd opencv
mkdir build
cd build
# CMake를 이용해 OpenCV를 빌드할 준비
cmake ..
# OpenCV 빌드 (시간이 조금 걸릴 수 있음)
make -j$(nproc)
# 빌드 완료 후 설치
sudo make install
CMakeLists.txt 수정프로젝트의 CMakeLists.txt 파일에 OpenCV를 찾고 포함할 수 있도록 다음 내용을 추가해.
cmake_minimum_required(VERSION 3.10)
# 프로젝트 이름 설정
project(Calculator)
# C++ 표준 설정
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# OpenCV 라이브러리 찾기
find_package(OpenCV REQUIRED)
# 헤더 파일 경로 포함
include_directories(include ${OpenCV_INCLUDE_DIRS})
# 소스 파일 지정 및 실행 파일 생성
add_executable(calculator src/main.cpp src/Calculator.cpp)
# OpenCV 라이브러리 링크
target_link_libraries(calculator ${OpenCV_LIBS})
src/Calculator.cpp 수정아래처럼 OpenCV 라이브러리를 활용하여 계산 결과를 이미지로 표시하는 코드를 추가해보자.
#include "Calculator.h"
#include <opencv2/opencv.hpp>
#include <iostream>
int Calculator::add(int a, int b) {
return a + b;
}
int Calculator::subtract(int a, int b) {
return a - b;
}
int Calculator::multiply(int a, int b) {
return a * b;
}
int Calculator::divide(int a, int b) {
if (b == 0) {
std::cerr << "Division by zero error!" << std::endl;
return 0;
}
return a / b;
}
void Calculator::displayResult(int result) {
// OpenCV를 이용해 결과를 이미지로 표시
cv::Mat image(400, 400, CV_8UC3, cv::Scalar(255, 255, 255));
std::string text = "Result: " + std::to_string(result);
// 이미지에 텍스트 표시
cv::putText(image, text, cv::Point(50, 200), cv::FONT_HERSHEY_SIMPLEX, 1, cv::Scalar(0, 0, 0), 2);
// 이미지 창 표시
cv::imshow("Calculator Result", image);
cv::waitKey(0); // 아무 키나 누르면 창 닫기
}
displayResult 함수가 OpenCV를 이용해 텍스트를 이미지에 렌더링하고 보여줘.include/Calculator.h 수정헤더 파일에 displayResult 함수 선언을 추가해줘.
#ifndef CALCULATOR_H
#define CALCULATOR_H
class Calculator {
public:
int add(int a, int b);
int subtract(int a, int b);
int multiply(int a, int b);
int divide(int a, int b);
void displayResult(int result); // 새로 추가된 함수
};
#endif // CALCULATOR_H
src/main.cpp 수정계산기 결과를 이미지로 표시하기 위해 아래처럼 코드를 수정하자.
#include "Calculator.h"
#include <iostream>
int main() {
Calculator calc;
int a, b;
char operation;
std::cout << "Enter first number: ";
std::cin >> a;
std::cout << "Enter operation (+, -, *, /): ";
std::cin >> operation;
std::cout << "Enter second number: ";
std::cin >> b;
int result;
switch (operation) {
case '+':
result = calc.add(a, b);
break;
case '-':
result = calc.subtract(a, b);
break;
case '*':
result = calc.multiply(a, b);
break;
case '/':
result = calc.divide(a, b);
break;
default:
std::cerr << "Invalid operation!" << std::endl;
return 1;
}
std::cout << "Result: " << result << std::endl;
// 계산 결과를 이미지로 표시
calc.displayResult(result);
return 0;
}
빌드 디렉토리 생성 및 이동
mkdir build
cd build
CMake 실행
cmake ..
프로젝트 빌드
make
프로그램 실행
./calculator