내가 보려고 만든 블로그

OpenCV를 사용하여 이미지 읽기, 표시 및 쓰기(c++) 본문

OpenCV/c++

OpenCV를 사용하여 이미지 읽기, 표시 및 쓰기(c++)

hjh1023 2024. 5. 22. 18:41
반응형

1.CMakeLists만들기

본인이 테스트 하고 싶은 경로로 가서

vim CMakeLists.txt 하기

 

CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(OpenCVExample)

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(main main.cpp)
target_link_libraries(main ${OpenCV_LIBS})

 

2.main.cpp만들기

main.cpp

#include <opencv2/opencv.hpp>
#include <iostream>

int main() {
	// 이미지 읽기
	cv::Mat img_color = cv::imread("Lenna.png", cv::IMREAD_COLOR);
	cv::Mat img_grayscale = cv::imread("Lenna.png", cv::IMREAD_GRAYSCALE);
	cv::Mat img_unchanged = cv::imread("Lenna.png", cv::IMREAD_UNCHANGED);

	// 이미지 표시
	// Create a window.
	cv::namedWindow( "color image", cv::WINDOW_AUTOSIZE );
	cv::namedWindow( "grayscale image", cv::WINDOW_AUTOSIZE );
	cv::namedWindow( "unchanged image", cv::WINDOW_AUTOSIZE );

	// Show the image inside it.
	cv::imshow( "color image", img_color ); 
	cv::imshow( "grayscale image", img_grayscale );
	cv::imshow( "unchanged image", img_unchanged ); 

	// Wait for a keystroke.   
	cv::waitKey(0);  

	// Destroys all the windows created                         
	cv::destroyAllWindows();
	
	// 이미지 쓰기
	imwrite("save.png", img_grayscale);

    return 0;
}

 

main.cpp,CMakeLists.txt 같은경로에 있어야함.

mkdir build

cd build

cmake ..

make

 

build폴더 안

이렇게 이미지를 build안에 넣고 ./main 이렇게 실행해야함.

 

 

이렇게 실행됨

종료할때는 esc누르면 종료됨

save.png도 잘 저장됨

반응형