printf("ho_tari\n");

Chapter2 : 이미지 불러오기 본문

OpenCV

Chapter2 : 이미지 불러오기

호타리 2023. 9. 12. 12:30

<show_images() 함수 코드 Chapter2.cpp>

#pragma once                                                         // 헤더파일의 충돌을 막기 위해서 헤더파일이 두개가 있으면 하나만 사용하라는 의미
#include <opencv2/opencv.hpp>

void show_images()
{
    cv::Mat img = cv::imread("lenna.bmp", cv::IMREAD_GRAYSCALE);     // 파일 이름이 lenna.bmp인 이미지를 matrix형태로 읽어옴 (IMREAD_COLOR : 색깔 이미지, IMREAD_GRAYSCALE : 회색 이미지)
    cv::Mat img2 = cv::imread("dog.bmp", cv::IMREAD_COLOR);
    if (img.empty() or img2.empty())                                 // image file이 없다면 다음 문장 출력
    {
        std::cout << "Image file does not exist" << std::endl;
        return;
    }
    cv::namedWindow("LENNA", cv::WINDOW_NORMAL);                     // LENNA라는 창을 만들고 창에 맞춰 같이 확대
    cv::namedWindow("DOG");                                          // cv::WINDOW_NORMAL 안써도 default
    cv::imshow("LENNA", img);                                        // 창이름과 img 불러와 보여줌
    cv::imshow("DOG", img2);
    cv::waitKey(0);                                                  // 다른키를 누를 때까지 화면 멈춤 (키값을 기다림) (1000 : 1초 후 창이 자동으로 닫힘) (0 : 무한대로 키값을 기다림)
    cv::destroyAllWindows();                                         // 창을 부숨 (메모리를 위해서 확실하게 부숴주는 것이 좋음)
}

<함수 호출 코드 OpenCV_Projects.cpp>

#include <opencv2/opencv.hpp>

extern void show_images();                            // show_images()가 외부에 있다는 의미

int main()
{
    std::cout << CV_VERSION << std::endl;
    show_images();                                    // show_images() 실행
    
}

<compile 결과>