본 글은 제가 직접 쓴 글이 아니라, 저희 PinkLAB의 유투브 채널의 공개 강의 영상들을 읽고, 따라한 한 수강생의 글을 제 블로그에 공유한 내용입니다.


이전 시간에 이어서 [ Ubuntu가 설치된 라즈베리파이에서 picamera를 사용하기 위한 준비 3 ] 를 주제로 글을 써 볼게요,
지금 우리는 라즈베리파이에서 카메라를 다루는 부분을 하고있어요.
환경 설정 끝난 지 얼마 안됐는데, 계속 뭔가를 설치하고 있는 그런 느낌이 드신다면....
원래 이 세상이 좀 그렇대요! ㅋ_ㅋ (ㅜ_ㅜ)
이제 파이카메라 툴을 설치 할 건데요, 이건 파이선용 모듈이에요.
이걸로 파이선 코드 가지고 라즈베리 파이에서 영상 처리하는 부분들 할 게 되게 많거든요, 그런 이야기들 좀 나눠보려고 해요.

코드 다르는 줄 알았더니, 또 dependency를 이야기하고 있네요.
이거 우르르 설치 해야해요. 이어서 설명하는 거랑 다시 얘기하면

for ROS2 study 이거는 이제 핑크랩의 공식적이기도 하고 개인적이기도 한

Github 의 for ROS2 study 의 RPi study 의 picam install MD 라는 파일을 찾으셔서 이거에요.
이 dependency를 설치하시면 돼요.

그리고 난 다음에 kms라는 ui도 설치를 할 거예요.
그래서 이것도 아까 이야기 한 for ROS2 study에 가서 우르르 설치하시면 되는데,

이게 조금 불안하신 분들은 이거 한 줄 먼저 설치 하시구요,

그 다음에 git clone 받으셔요 .

그 폴더로 이동해서 이거 설정하면 하시고

그 다음에 한 줄씩 한 줄씩 실행하시면 된답니다.
이제 설치는 끝났어요.

파이2 카메라 설치를 할 거에요.
pip install 명령으로 picamera2 를 설치 할 거에요. pip 명령을 줬는데 에러 나시는 분들은 pip3 하세요.
그렇게 하고 Python3 해서 들어가서 여기가 python3죠. 여기 나올 때 import picamera 예요.

소문자 picamer2 했는데 에러가 나시는 분들은 정상이에요.
이 다음 과정에서 해소 할 거예요. 이런 일도 자주 있어요.
강사님께서는 자주 경험을 하신대요. 그러니 이런 에러들이 나타나요.
또 시간이 조금 흘러가면 저절로 없어져요.
업데이트 개발자들이 업데이트를 해 주는 거예요.

그래서 현 시점은 에러가 있다라고만 기억을 해 주시면 된답니다.
그리고 이제 이유가 뭐냐면

라이브 카메라라는 아이를 찾아보면 많이 나오는데,
그 중에 UI 여기 설치가 잘 되어있기는 해요.
잘 되어있는데, 사실 여기 돼 있으면 약간 링크가 안 맞아요.
어디로 한 군데 복사를 해야해요. 거기가 어디냐면, 여기예요.
여기 끊어서 홈에 있는 PW는 강사님 계정이에요.
여러분들은 여러분 이름이 있죠, 그 자리에 그 이름이 들어가야해요.

그 다음에 로컬 안에 라이브러리 안에 python3.12 안에 사이드 패키지 안에 들어가야해요.
아까 그 파일이 그래서 이 명령어로 유저의 로컬 라이브러리에 아크 어쩌고 어쩌고 탭 치면 돼요.

Python 3.12의 사이트 패키지즈의 라이브 카메라에 있는 모든 아이들을 이 경로로 복사시켜라 에요.

여기서 강사님께서 user id 라고 적어두셨어요. 여기 이제 여러분들의 아이디를 적으시면 된답니다.
여러분들의 아이디를 확인하시는 방법은 왼쪽 동그라미에 있는거 user_id쪽에 적으면 돼요.

exit 괄호 열고 닫아요.

이제 아이파이썬에서 한 번 테스트를 해 보려고 해요.

아이파이썬에서 이 테스트 코드는 또 어딨냐면..

여기 핑크윙크 깃허브 의 for ROS2 study가 있잖아요,

RPi study에서 camtest.ipynb라는 파일이 하나 있어요. 여기에 있어요.

여기에 와서 코드 카피해서 쓰시면 돼요.
약간 여러가지 설정들이 귀찮으시면,

루트에 대한 설정들이 귀찮다라고 하면 아예 python3 -m pip config set global.break-system-packages true로 만들어 두시면 매번 pip3 할 때 break-system-packages 옵션을 안 달아도 돼요.

그러고 이것들을 설치 할 거예요.

이거 두 개는 이미 앞서서 설치를 했구요, 나머지 이거 두개에요.
이거 두개 설치, 어렵지 않을까요?
시간은 걸릴 수 있는데, 어렵진 않아요.

설치를 하시고 난 다음에 한가지 슬픈 점은 또 재부팅을 해야한다는 거예요.

그리고 matplotlib랑 opencv-python을 설치 해 주세요.

이제 파이카메라를 import 하고 그 다음에 가지고 와서 스타트를 걸면 돼요.

지금 라즈베리파이의 경우에는

라즈베리파이에 카메라가 하나 연결되어있거든요,
ffc 커넥터, CSI 커넥터에 하나가 연결되어 있어요.
카메라는 하나 있어요.

여러분들이 쓰시다가 내가 파이카메라를 스타트했는데, 이걸 Kernel이라고 하거든요.

아이파이썬에서는 이 kernel이든 python code 라고 부르든 터미널이라고 부르든 여하튼 카메라를 열었 단 말이에요.
이 코드가 카메라를 열었는데 또 다른 코드에서 카멜라를 또 열면 에러가 나요.
카메라를 두 번 열면 안 되는 거예요. 카메라를 두 번 열면 안된다, 그걸 기억 해 주세요.
그래서 다른 코드에서 카메라를 쓰고 싶으시면 카메라를 닫으면 돼요.
이건 뭐냐면 ssh 로 이 화면이 뭐냐면 vs코드예요.
vs코드에서 ssh extension을 설치하고 그 다음에 코드를 작성하고 있는 거예요. 쉽게 말하면 ssh코드를 작성하고 있는 거예요.
그런데 그 작성된 코드가 실행을 했는데, 실행 결과가 새 창을 띄워야 하는거예요, 카메라를 봐야하니까요.
그렇게 새 창을 띄워야 되면 강사님께서는 두가지 중에 하나를 제안하셔요. 정확히는 세가지.
첫 번째는 키보드 마우스 모니터를 라즈베리파이에 연결하시면 된답니다.

그러면 아무 문제가 없는데, 주피터도 문제가 하나 있는게, 주피터에서도 새 창이 잘 안뜨거든요.
잘 떠야 잘 뜨는데, 에러가 날 때에는 또 한참 에러가 나서 강사님께서는 주피터를 쓰거나 ssh를 쓰거나 할 때에는
아까 이야기 한 두 가지 방법 vnc로 보거나
혹은 주피터라면 그냥 주피터 화면에서 짧게 몇 초 정도만 영상을 보이게끔 하셔요.
삶의 질이 좀 바뀌어요. 조금만 익숙해지면 제발 진짜인데... 한번만 믿어보세요.

그래서 디스플레이 이미지라는 함수를 하나 만들어요.
이 아이는 영상도 프레임이에요.

우리가 흔히 말하는 영상이라는게 만약에 30 fps다 라고 하면 이게 초당 프레임 수에요. 초당 per second 초당 프레임 수에요.

30fps라고 하면 1초에 30장의 이미지를 막 뿌리는 거란 말이예요.

그 1장 1장의 사진을 프레임이라고 받아오는 거예요.

받아와서 실제로 JPG로 저장하는게 아니라 메모리상 JPG라고 저장을 한 다음에 그걸 ipython이 제공하는 이미지 함수를 이용해서 화면에 뿌리도록 하는 거예요.


그러고 이제 타이머 살짝 불러와서 현재 시간 저장을 한 다음에 지금 시간과 비교해서 5초 이내 즉, 5초 동안만 틀라는 거예요.
5초 동안 파이캠으로부터 사진을 받아와서 또 opencv나 이쪽은 색 체계가 BGR인데요, matplotlib나 python 쪽은 알집이거든요.

그래서 BGR을 RGB로 바꾼 다음에 디스플레이 해라 하고 기다려줘야해요.
왜 그러냐면, 초당 30프레임이라고 하면 30fps 라고 하면 1장 1장의 사진들은 시간 간격이 30분의 1초인 거예요.
그래서 그걸 기다려라 라고 시켜준 거예요.
잘 나와요. 끝나요.

접근 해 볼까요? 일단은 vs code 에서 192.168.0.80으로 접속을 해요.
여기에서 이거 누르면 강사님께서는 지금 이 에디터는 커서예요. 여기 누르고 ssh 접근을 하라고 시키는 거예요.
그리고 pw 192.168.0.80으로 접속을 해라 하면 돼요.

그러고 나면 패스워드를 치라고 나와요.
그 다음에 접속이 잘 되었구요,
그리고 오픈 폴더 누르고 통으로 다 열게요.
강사님 라즈베리파이가 다 열린거예요.

거기에 현재 방금 코드는 도큐먼트에서 열었어요. 이건 우리 아주 예전에 했던 거예요. 환경 설정할 때,
그리고 여기에 있어요.

일단 clear output 하고 그 다음에 이제 상태에서 하나씩 볼 거예요. 파이 카메라를 지정을 한 거예요.

파이카메라에서 파이카메라 불러와서 스타트를 거는 거예요. 시작. 이렇게 잘 연결되었음이 떠요.

그러고 난 다음에 opencv도 깔았구요.

그래서 함수 하나 지정을 해 주었어요.
이제 이게 뭐냐면...

5초간 파이 카메라로부터 이미지 한 프레임으로 받아와서

그걸 색체계를 RGB로 바꾸고 난 다음에

디스플레이 이미지 던져라예요 .
이거 실행하면 밑에 나와요.

이렇게 또 강사님 손... 저기 강냉이가 나와요. 간단하죠?
너무 간단해서 당황스럽냐고 물으셨지만....ㅋㅋㅋㅋ몰라요!!!!!
이제부터 더 많은걸 할 거라고 하셨어요.
라즈베리파이로 파이카메라를 가지고 설정도 해 보고 캘리브레이션도 해 보고 아루코마커도 다루어보고 이것저것 해 볼 예정이라 하셨어요.
단지 그 대상이 라즈베리파이지만 지금 한가지 또 하고싶은 말씀은...

지금 여러분들 영상에서 보고 계시는 삐창 뜨고 배경은 강사님께서 쓰는 pt 도구거든요.
라즈베리파이의 흔적이 보이지 않는데요,
나는 성능이 좋은 내 노트북에서 지금 하고 있는 거예요.
단지 이 코드가 실행되는 장소가 라즈베리파이인 거예요.
환경이 중요하다, 내가 작업하는 환경을 어떻게 꾸미느냐에 따라서 삶의 질이 바뀌어요.
그래서 여러분들도 계속 얘기하지만 너무 힘드시면 라즈베리파이에 키보드 마우스 모니터 연결하시면 돼요.
그런데 강사님께서 추천해드리러 환경설정대로 한번 가 보시길 권하셔요.
되게 괜찮을 거예요. 지금까지 해서 이것도 어떻게 보면 환경설정이기는 해요.
라즈베리파이에 CSI 카메라 연결했고
그 다음에 카메라에서 라즈베리파이 파이브에서 설치된 우분투 24.04 라서 설치가 조금 복잡했지만
라즈베리파이를 쓸 수 있게 했어요.
다음시간부터는 재밌겠네요.
이번 시간도
정말정말 고생 많으셨습니다 !!!!
'Hardware > SBC (rasp, jetson, latte panda)' 카테고리의 다른 글
| [RPi5] 2-2. Ubuntu가 설치된 라즈베리파이에서 picamera를 사용하기 위한 준비 2|산.기.정.| (0) | 2025.10.20 |
|---|---|
| [RPi5] 2-1. Ubuntu가 설치된 라즈베리파이에서 picamera를 사용하기 위한 준비 1|산.기.정.| (0) | 2025.09.19 |
| [RPi5] 1-11. RealVNC 구성해보기|산.기.정.| (1) | 2025.09.17 |
| [RPi5] 1-10. 라즈베리파이 환경설정 마무리|산.기.정.| (0) | 2025.09.11 |
| [RPi5] 1-9. AP mode 셋팅으로 라즈베리파이보드를 공유기로 만들기 2|산.기.정.|민형기 강사님 무료 강의 (0) | 2025.09.08 |
| [RPi5] 1-8. AP mode 셋팅으로 라즈베리파이보드를 공유기로 만들기 1|산.기.정.| (0) | 2025.09.04 |
| [RPi5] 1-7. xhost 설정을 라즈베리파이 부팅할 때 자동으로 하기|산.기.정.| (0) | 2025.09.02 |