- javascript 바코드스캔
- Mac Oracle
- 말줄임표시
- simpe ftp
- 강제이동
- javascript redirection
- asp.net Select
- 원격ftp
- XSS방어
- TempData
- SSD 복사
- javascript 바코드 생성
- XSS PHP
- 404에러페이지
- jquery 바코드
- asp.net dropdownlist
- asp.net core Select
- asp ftp
- ViewBag
- ASP.Net Core 404
- 타임피커
- 맥 오라클설치
- django 엑셀불러오기
- 하드 마이그레이션
- ViewData
- jquery 바코드생성
- 바코드 생성하기
- 하드 윈도우 복사
- php 캐쉬제거
- 바코드 스캔하기
웹개발자의 기지개
[라즈베리파이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/
opencv-contrib-python
Wrapper package for OpenCV python bindings.
pypi.org
호환성문제 때문에 현재 최신 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
jeffbass/imagezmq
A set of Python classes that transport OpenCV images from one computer to another using PyZMQ messaging. - jeffbass/imagezmq
github.com
pip3 install imagezmq
4. imutils 설치
imutils 는 이미지 표시나 가장자리 감지 등 이미지 처리를 할때 훨씬 편리하게 처리해 주는 기능을 한다.
pypi.org/project/imutils/#description
imutils
A series of convenience functions to make basic image processing functions such as translation, rotation, resizing, skeletonization, displaying Matplotlib images, sorting contours, detecting edges, and much more easier with OpenCV and both Python 2.7 and P
pypi.org
pip3 install imutils
5. CCTV 관련 실제 구동 파일 실행하기
빵형 님의 깃허브 파일을 이용하자.
github.com/kairess/cctv_raspberrypi
kairess/cctv_raspberrypi
Surveillance camera solution using Raspberry Pi. Contribute to kairess/cctv_raspberrypi development by creating an account on GitHub.
github.com
위의 화면 처럼 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 |