- ViewBag
- 맥 오라클설치
- 파일업로드 유효성체크
- asp.net core Select
- jquery 바코드
- ASP.Net Core 404
- 하드 윈도우 복사
- 말줄임표시
- javascript 바코드 생성
- XSS PHP
- javascript 유효성체크
- asp.net dropdownlist
- 강제이동
- 404에러페이지
- 타임피커
- javascript 바코드스캔
- 파일업로드 체크
- TempData
- 하드 마이그레이션
- asp.net Select
- 바코드 스캔하기
- javascript redirection
- php 캐쉬제거
- Mac Oracle
- django 엑셀불러오기
- jquery 바코드생성
- SSD 복사
- XSS방어
- 바코드 생성하기
- ViewData
웹개발자의 기지개
[라즈베리파이4] PiCamera로 실시간 CCTV 영상 만들기2 본문
라즈베리파이4의 PiCamera 로 웹캠과 같이 실시간으로 영상이 나타나도록 해보자.
1. 라즈베리파이 업데이트
sudo apt-get -y update && sudo apt-get -y upgrade
sudo apt-get -y install python3-dev
2. OpenCV 4.1버전 설치
pypi.org/project/opencv-contrib-python/4.1.0.25/
호환성문제 때문에 현재 최신 4.5버전이 나왔으나, 필자는 4.1 버전을 선택하여 설치했다.
pip3 install opencv-contrib-python==4.1.0.25
설치한 다음에는
import cv2 라는 코드만 넣어서 파이썬을 실행해 본다.
import cv2
아무 문제가 없으면 정상적으로 설치가 잘된것이다.
sudo nano openCV_test.py
[ openCV_test.py ]
import cv2
img = cv2.imread("/home/pi/test01.png")
cv2.imshow("Test",img)
img_canny = cv2.Canny(img, 50, 150)
cv2.imshow("Test img Edge", img_canny)
cv2.waitKey(0)
cv2.destroyAllWindows()
[Test 이미지]
[Test img Edge]
위의 파일예제를 돌려보니 이미지 화면 처럼 잘 돌아간다.
3. imagezmq 설치
imagezmq 는 PyZMQ 메시징 형태로 하나의 컴퓨터에서 다른컴퓨터로 OpenCV 이미지를 전송해 준다.
github.com/jeffbass/imagezmq#id10
pip3 install imagezmq
4. imutils 설치
imutils 는 이미지 표시나 가장자리 감지 등 이미지 처리를 할때 훨씬 편리하게 처리해 주는 기능을 한다.
pypi.org/project/imutils/#description
pip3 install imutils
5. CCTV 관련 실제 구동 파일 실행하기
빵형 님의 깃허브 파일을 이용하자.
github.com/kairess/cctv_raspberrypi
위의 화면 처럼 server.py 를 우선 실행한다음, client.py 를 실행하면 웹캠처럼 실시간 영상 화면이 바로 실행된다.
[ server.py ]
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import cv2
import imagezmq
image_hub = imagezmq.ImageHub()
while True:
rpi_name, image = image_hub.recv_image()
cv2.imshow(rpi_name, image)
if cv2.waitKey(1) == ord('q'):
break
image_hub.send_reply(b'OK')
|
cs |
[ client.py ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import socket
import time
from imutils.video import VideoStream
import imagezmq
sender = imagezmq.ImageSender(connect_to='tcp://192.168.0.1:5555')
rpi_name = socket.gethostname() # send RPi hostname with each image
picam = VideoStream(usePiCamera=True).start()
time.sleep(2.0) # allow camera sensor to warm up
while True: # send images as stream until Ctrl-C
image = picam.read()
sender.send_image(rpi_name, image)
|
cs |
위 소스중 6라인에 ip 주소를 해당 ip 에 맞게 적절히 수정하면된다.
참고 1 : www.youtube.com/watch?v=DIGwweDJCBk&list=PLAQofLHbsrjfP6JJVsnFERUFvWdEx6VBI
참고 2 : github.com/kairess/cctv_raspberrypi
참고 3 : github.com/jeffbass/imagezmq#id10
참고 4 : softtone-someday.tistory.com/8
'라즈베리파이' 카테고리의 다른 글
[라즈베리파이5] 다양한 셋팅 및 설정 (0) | 2024.03.14 |
---|---|
[라즈베리파이4] OpenCV 실행시 에러 - ImportError: libhdf5_serial.so.103: cannot open shared object file: No such file or directory (3) | 2021.05.01 |
[라즈베리파이4] PiCamera로 실시간 CCTV 영상 만들기1 (0) | 2021.04.27 |
[라즈베리파이4] SSH 포트변경 (0) | 2021.04.14 |
[라즈베리파이4] 웹서버 및 mysql 설치 - 아파치,PHP,mariaDB (0) | 2021.04.14 |