목차
- C 언어 Codelite에 opencv 라이브러리 링크 및 개발 환경 구성 예제 이전 포스팅 참고 학습
- C 언어 opencv 라이브러리 활용 사각형, 원형 그리기 예제 이전 포스팅 참고 학습
- C 언어 memcpy 메모리 복사 예제 이전 포스팅 참고 학습
- C++ Opencv 활용 마우스 드래그시 선 그리기 예제
- C++ Opencv 활용 마우스 클릭시 원형 그리기 예제
C 언어 Codelite에 opencv 라이브러리 링크 및 개발 환경 구성 예제 이전 포스팅 참고 학습
이전 포스팅을 참고하여 Codelite에서 OpenCV 라이브러리를 링크하고 개발 환경을 구성하는 방법을 학습합니다. OpenCV는 컴퓨터 비전 및 이미지 처리 작업을 위한 라이브러리로, 프로젝트에 라이브러리를 링크시켜 이미지 처리 및 컴퓨터 비전 애플리케이션을 개발할 수 있습니다. 예제 실행을 위해 아직 Codelite에 Opencv 라이브러리 설정을 하지 않았다면 아래 링크를 참고해주세요.
2023.09.07 - [C] - [C/C++] C 언어 Codelite에 opencv 라이브러리 링크 및 간단한 확인 예제
C 언어 opencv 라이브러리 활용 사각형, 원형 그리기 예제 이전 포스팅 참고 학습
이전 포스팅에서는 OpenCV 라이브러리를 사용하여 C 언어로 사각형과 원을 그리는 예제를 학습하였습니다. 여러가지 도형을 C 코딩으로 그릴 수 있다는 점에서 Opencv 라이브러리의 장점이 보입니다. 특히 자동화 프로그램 혹은 그래픽 관련 프로그램을 구현할 때 Opencv를 사용할 수 있습니다. 뿐 만 아니라 AI 그래픽 머신러닝을 위해서도 opencv를 활용합니다. C에서 Opencv 라이브러리를 사용하여 원형, 사각형 그리기 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.09.07 - [C] - [C/C++] C++ 언어 opencv 활용 사각형, 원형 그리기 예제
C 언어 memcpy 메모리 복사 예제 이전 포스팅 참고 학습
마지막으로 memcpy 함수를 사용하여 메모리를 복사하는 예제를 이전 포스팅에서 알아보았습니다. 메모리 복사는 데이터를 효율적으로 이동하거나 복사할 때 유용한 기능입니다. 메모리 복사 예제 코드를 통해 memcpy 함수 동작 방식과 활용 예제들을 알아볼 수 있습니다.
2023.07.17 - [C/stdio] - [C언어/C++] C언어 memcpy 메모리 복사
C++ Opencv 활용 마우스 드래그시 선 그리기 예제
아래는 OpenCV를 사용하여 C++ 언어로 마우스 드래그 중에 선을 그리는 예제 코드입니다. 이 코드는 OpenCV의 마우스 이벤트 처리를 활용하여 마우스를 사용하여 선을 그리고 화면에 표시하는 방법을 보여줍니다.
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
// 콜백 함수
void drawLineCallback(int event, int x, int y, int flags, void* userdata) {
static Point prevPoint(-1, -1);
if (event == EVENT_LBUTTONDOWN) {
prevPoint = Point(x, y);
} else if (event == EVENT_LBUTTONUP) {
prevPoint = Point(-1, -1);
} else if (event == EVENT_MOUSEMOVE && (flags & EVENT_FLAG_LBUTTON)) {
Point currentPoint(x, y);
if (prevPoint.x >= 0 && prevPoint.y >= 0) {
line(*static_cast<Mat*>(userdata), prevPoint, currentPoint, Scalar(0, 0, 255), 2);
prevPoint = currentPoint;
imshow("Draw Line Example", *static_cast<Mat*>(userdata));
}
}
}
int main() {
Mat image(400, 400, CV_8UC3, Scalar(255, 255, 255));
imshow("Draw Line Example", image);
setMouseCallback("Draw Line Example", drawLineCallback, &image);
waitKey(0);
return 0;
}
C++ Opencv 활용 마우스 클릭시 원형 그리기 예제
아래는 OpenCV를 사용하여 C++ 언어로 마우스 클릭할 때 원을 그리는 예제 코드입니다. 마우스 클릭 이벤트를 처리하고 원을 그려 화면에 표시하는 방법을 보여줍니다.
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
// 콜백 함수
void drawCircleCallback(int event, int x, int y, int flags, void* userdata) {
if (event == EVENT_LBUTTONDOWN) {
circle(*static_cast<Mat*>(userdata), Point(x, y), 20, Scalar(0, 0, 255), 2);
imshow("Draw Circle Example", *static_cast<Mat*>(userdata));
}
}
int main() {
Mat image(400, 400, CV_8UC3, Scalar(255, 255, 255));
imshow("Draw Circle Example", image);
setMouseCallback("Draw Circle Example", drawCircleCallback, &image);
waitKey(0);
return 0;
}