목차
- C 언어 Codelite에 opencv 라이브러리 링크 및 개발 환경 구성 예제 이전 포스팅 참고 학습
- C 언어 opencv 라이브러리 활용 사각형, 원형 그리기 예제 이전 포스팅 참고 학습
- C 언어 opencv 라이브러리 활용 마우스 드래그시 선 그리기 예제 이전 포스팅 참고 학습
- C++ Opencv 활용 로컬 이미지 파일 출력하기 예제
- C++ Opencv 활용 마우스 클릭시 이미지 출력하기 예제
C 언어 Codelite에 opencv 라이브러리 링크 및 개발 환경 구성 예제 이전 포스팅 참고 학습
OpenCV 라이브러리를 활용하기 위해 개발 환경을 설정하고 라이브러리를 링크하는 방법에 대한 예제입니다. OpenCV는 이미지 및 비디오 처리를 위한 강력한 오픈소스 라이브러리로, 이전 포스팅에서는 Codelite와 함께 사용하기 위해 설정하는 방법을 설명하고 있습니다. 오늘 예제를 실행하기 위해서도 Codelite 설치와 opencv라이브러리 설정이 필수입니다. 따라서 아직 환경구성을 하지 않으셨다면 아래 링크를 참고해주세요.
2023.09.07 - [C] - [C/C++] C 언어 Codelite에 opencv 라이브러리 링크 및 간단한 확인 예제
C 언어 opencv 라이브러리 활용 사각형, 원형 그리기 예제 이전 포스팅 참고 학습
다음으로 C 언어와 OpenCV 라이브러리를 활용하여 이미지 위에 사각형과 원을 그리는 예제를 이전 포스팅에서 다루었습니다. OpenCV를 사용하여 그리기 함수 종류에 대해 확인할 수 있습니다. 예제로는 사각형 그리기, 원형 그리기 등의 예제가 포함되어있습니다. C 언어에서 opecv로 그리기 방법이 궁금하시다면 아래 링크를 확인해주세요.
2023.09.07 - [C] - [C/C++] C++ 언어 opencv 활용 사각형, 원형 그리기 예제
C 언어 opencv 라이브러리 활용 마우스 드래그시 선 그리기 예제 이전 포스팅 참고 학습
마지막으로 Opencv에서 마우스 드래그 동작에 따라 이미지에 선을 그리는 예제를 알아보았습니다. 마우스 이벤트를 감지하고 이벤트가 발생했을 때 opencv의 그리기 함수를 사용하는 예제입니다. 또한 마우스 클릭시 원형을 그리는 예제도 포함되어있습니다. C 언어에서 opencv 라이브러리와 마우스 이벤트를 동시 사용하는 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.09.07 - [C] - [C/C++] C 언어 opencv 활용 마우스 드래그 선 그리기 예제
C++ Opencv 활용 로컬 이미지 파일 출력하기 예제
아래는 C++ 언어와 OpenCV 라이브러리를 사용하여 로컬 이미지 파일을 읽고 출력하는 예제 코드입니다. 이 코드를 사용하면 이미지 파일을 열어서 화면에 표시할 수 있습니다.
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main() {
// 이미지 파일을 읽어옵니다.
Mat image = imread("/tmp/example.jpg");
// 이미지 파일을 정상적으로 읽었는지 확인합니다.
if (image.empty()) {
std::cerr << "이미지 파일을 읽을 수 없습니다." << std::endl;
return -1;
}
// 이미지를 화면에 표시합니다.
imshow("이미지 출력 예제", image);
// 사용자가 아무 키나 누를 때까지 대기합니다.
waitKey(0);
return 0;
}
C++ Opencv 활용 마우스 클릭시 이미지 출력하기 예제
아래는 C++ 언어와 OpenCV 라이브러리를 사용하여 마우스 클릭 이벤트에 따라 이미지를 변경하여 출력하는 예제 코드입니다. 사용자가 이미지 위에서 마우스를 클릭하면 이미지가 변경됩니다.
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
// 전역 변수
Mat image;
// 마우스 클릭 이벤트 콜백 함수
void onMouse(int event, int x, int y, int flags, void* userdata) {
if (event == EVENT_LBUTTONDOWN) {
// 이미지 로드
image = imread("/tmp/example.jpg");
// 이미지 출력
if (!image.empty()) {
imshow("Loaded Image", image);
}
else {
cout << "Image not found!" << endl;
}
}
}
int main() {
// 윈도우 생성
namedWindow("Loaded Image");
// 마우스 클릭 이벤트 핸들러 등록
setMouseCallback("Loaded Image", onMouse, NULL);
// ESC 키를 누를 때까지 대기
while (true) {
int key = waitKey(0);
if (key == 27) // ESC 키 누르면 종료
break;
}
return 0;
}