살구월드

잠깐, 리눅스, C 언어, Java, Python 등
각종 예제 검색하기

목차

  1. C 언어 Codelite에 opencv 라이브러리 링크 및 개발 환경 구성 예제 이전 포스팅 참고 학습
  2. C 언어 opencv 라이브러리 활용 사각형, 원형 그리기 예제 이전 포스팅 참고 학습
  3. C 언어 memcpy 메모리 복사 예제 이전 포스팅 참고 학습
  4. C++ Opencv 활용 마우스 드래그시 선 그리기 예제
  5. C++ Opencv 활용 마우스 클릭시 원형 그리기 예제

 

 

 

 

 

 

 

 

C 언어 Codelite에 opencv 라이브러리 링크 및 개발 환경 구성 예제 이전 포스팅 참고 학습

이전 포스팅을 참고하여 Codelite에서 OpenCV 라이브러리를 링크하고 개발 환경을 구성하는 방법을 학습합니다. OpenCV는 컴퓨터 비전 및 이미지 처리 작업을 위한 라이브러리로, 프로젝트에 라이브러리를 링크시켜 이미지 처리 및 컴퓨터 비전 애플리케이션을 개발할 수 있습니다. 예제 실행을 위해 아직 Codelite에 Opencv 라이브러리 설정을 하지 않았다면 아래 링크를 참고해주세요.

 

2023.09.07 - [C] - [C/C++] C 언어 Codelite에 opencv 라이브러리 링크 및 간단한 확인 예제

 

[C/C++] C 언어 Codelite에 opencv 라이브러리 링크 및 간단한 확인 예제

목차 리눅스 우분투 C 언어 개발도구 Codelite 설치 및 환경구성 예제 이전 포스팅 참고 학습 리눅스 우분투 C 언어 opencv 라이브러리 패키지 설치 예제 이전 포스팅 참고 학습 C 언어 네트워크 소켓

salguworld.tistory.com

 

 

 

 

 

 

 

C 언어 opencv 라이브러리 활용 사각형, 원형 그리기 예제 이전 포스팅 참고 학습

이전 포스팅에서는 OpenCV 라이브러리를 사용하여 C 언어로 사각형과 원을 그리는 예제를 학습하였습니다. 여러가지 도형을 C 코딩으로 그릴 수 있다는 점에서 Opencv 라이브러리의 장점이 보입니다. 특히 자동화 프로그램 혹은 그래픽 관련 프로그램을 구현할 때 Opencv를 사용할 수 있습니다. 뿐 만 아니라 AI 그래픽 머신러닝을 위해서도 opencv를 활용합니다. C에서 Opencv 라이브러리를 사용하여 원형, 사각형 그리기 방법이 궁금하시다면 아래 링크를 참고해주세요.

 

2023.09.07 - [C] - [C/C++] C++ 언어 opencv 활용 사각형, 원형 그리기 예제

 

[C/C++] C++ 언어 opencv 활용 사각형, 원형 그리기 예제

목차 C++ 언어 Codelite에 opencv 라이브러리 링크 및 개발 환경 구성 예제 이전 포스팅 참고 학습 C 언어 fopen 파일 생성 및 스트림 열기 예제 이전 포스팅 참고 학습 C 언어 fclose 파일 스트림 닫기 예

salguworld.tistory.com

 

 

 

 

 

 

 

C 언어 memcpy 메모리 복사 예제 이전 포스팅 참고 학습

마지막으로 memcpy 함수를 사용하여 메모리를 복사하는 예제를 이전 포스팅에서 알아보았습니다. 메모리 복사는 데이터를 효율적으로 이동하거나 복사할 때 유용한 기능입니다. 메모리 복사 예제 코드를 통해 memcpy 함수 동작 방식과 활용 예제들을 알아볼 수 있습니다.

 

2023.07.17 - [C/stdio] - [C언어/C++] C언어 memcpy 메모리 복사

 

[C언어/C++] C언어 memcpy 메모리 복사

우리가 흔히 C언어로 코딩을 하다 보면 원래 있던 메모리 공간의 값을 다른 공간으로 복사해야 할 때가 있습니다. 이런 문제를 해결해주는 함수가 바로 mempcy입니다. memory + copy의 약자입니다. 이

salguworld.tistory.com

 

 

 

 

 

 

 

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;
}

 

잠깐, 리눅스, C 언어, Java, Python 등
각종 예제 검색하기

공유하기

facebook twitter kakaoTalk kakaostory naver band