이제 젯슨 나노에서 opencv과정을 끝냈기에 연속해서 opencv과정을 이어갈 수 있게 되었다.
나는 젯팩 4.4.1을 사용했기 때문에 opencv v4.x.x가 이미 깔려있었다.
따라서 이미지를 띄워보는 예제부터 시작한다.
레퍼런스는 이 티스토리를 참고하며 따라간다.
https://95mkr.tistory.com/entry/OPENCV2?category=750764
우선 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 |