embedded/opencv

1. opencv로 이미지 출력

crab. 2021. 9. 3. 18:45

이제 젯슨 나노에서 opencv과정을 끝냈기에 연속해서 opencv과정을 이어갈 수 있게 되었다.

 

나는 젯팩 4.4.1을 사용했기 때문에 opencv v4.x.x가 이미 깔려있었다.

 

따라서 이미지를 띄워보는 예제부터 시작한다.

 

레퍼런스는 이 티스토리를 참고하며 따라간다.

 

https://95mkr.tistory.com/entry/OPENCV2?category=750764 

 

[OPENCV] 2. OpenCV 로 이미지 파일 출력하기

☞ 메인보드 : Jetson Nano Developer Kit ☞ 운영 체제 : Ubuntu 18.04 - JetPack 4.3 ☞ 언어 : C++ 목차 ○ 1. workspace 만들기 ○ 2. 코드 작성 ○ 3. CMAKE ○ 4 . 실행 결과 1. Jetson Nano 보드 ubuntu 18..

95mkr.tistory.com

우선 workspace를 만든다.

mkdir -p ~/workspace/camera_test/src
cd ~/workspace/camera_test/src

앞으로의 opencv 진행을 위해 패키지별 저장을 위한 workspace를 만들고 해당 디렉터리에 들어간다.

 

[mkdir의 -p 옵션은 만들 디렉터리 안에 하위 디렉터리를 함께 생성할 때 사용한다.]

이번 진행에 쓰일 아이린이미지

이미지를 받아 irene.jpeg로 저장한다.

 

코드에 사진파일명으로 읽히기 때문에 파일명을 잘 설정해야 하고 사진은 camera_test 디렉터리 안에 있어야 한다.

 

camera_test.cpp

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

int main(){
	cv::Mat img;
	img = cv::imread("irene.jpeg", cv::IMREAD_COLOR);
	if(img.empty()){
		std::cout << "No Image" << std::endl;
		return -1;
	
	}
	cv::namedWindow("yaho", cv::WINDOW_AUTOSIZE);
	cv::imshow("yaho", img);
	
	cv::waitKey(0);

}

우선 지금의 나는 대충,빨리,잘 의 과정 중 '대충' 과정에 있기에 코드 분석은 일단 생략한다.

 

나중에 적절한시기에 '빨리'의 과정에서 분석을 진행할 것이다...

 

CMAKE

cd ..
[편집기] CMakeLists.txt

이번과정을 진행하면서 이건 진짜 너무 획기적이고 도움이 된다 느낀 게 바로 이 cmake이다.

 

어쩌면 기초중 기초라고 생각할 수도 있으나 나는 지금까지 vscode에서 컴파일이 안되면 나 스스로 컴파일을 하거나 make를 못했었다.

 

이번 과정에서 처음으로 cmake에 대해 조금 알게 된 건데 너무 신기하고 흥미롭다. 

 

지금 잘 따라하고 나중에 확실하게 복습해야겠다.

 

[터미널 창에서 cd.. 를 입력하여 상위 디렉터리인 workspace/camera_test로 돌아오고 편집기로 CMakeLists.txt를 작성하자.]

매우 중요한 사진

저것이 CMakeLists.txt 저걸로 컴파일이 진행되는게 참 신기하다.

 

[add_executable과 target_link_libraries의 camera_test 부분에는 ${PROJECT_NAME} 환경 변수를 넣어도 문제없이 작동한다. 작성을 완료하고 cmake와 make를 진행한다.]

cmake .
make

실행결과

./camera_test

 

'embedded > opencv' 카테고리의 다른 글

+. 윈도우에서 opencv 설치하고 라이브러리 추가하기  (0) 2021.09.08
5. 이미지 프로세싱(3)  (0) 2021.09.08
4. 이미지 프로세싱(2)  (0) 2021.09.08
3. 이미지 프로세싱(1)  (0) 2021.09.08
2. opencv 실시간 촬영  (0) 2021.09.03