inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

라즈베리파이 IoT 프로그램과 클라우드 입문 과정

카메라 연동관련 질문..

946

myc00

작성한 질문수 1

0

안녕하세요,,

라즈베리파이에 usb카메라를 2대 이상 연결해서 확인하는 방법은 없을까요?

from flask import Flask, render_template, Response

import cv2

app = Flask(__name__)

camera_indexes = [0, 2, 6] # 카메라 인덱스 리스트

def generate_frames(camera_index):

capture = cv2.VideoCapture(camera_index)

if not capture.isOpened():

raise IOError(f"Cannot open camera {camera_index}")

while True:

ret, frame = capture.read()

if not ret:

break

ret, jpeg = cv2.imencode('.jpg', frame)

frame = jpeg.tobytes()

yield (b'--frame\r\n'

b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')

@app.route("/")

def index():

return render_template('cameratest0621.html', camera_indexes=camera_indexes)

@app.route("/video_feed/<int:camera_index>")

def video_feed(camera_index):

return Response(generate_frames(camera_index),

mimetype='multipart/x-mixed-replace; boundary=frame')

if name == "__main__":

app.run(host="0.0.0.0", port=8080)

<!DOCTYPE html>

<html>

<head>

<title>Camera Streams</title>

</head>

<body>

{% for index in camera_indexes %}

<div>

<img src="{{ url_for('video_feed', camera_index=index) }}">

</div>

{% endfor %}

</body>

</html>

소스코드인데,, 카메라 1대씩은 가능한데, 2대 이상은 안나옵니다..ㅠㅠ

Raspberry-Pi iot

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

라즈베리파이에서 2대 이상의 usb카메라를 연결하여 사용하는 것은 가능해요. 하지만 각 카메라마다 다른 인덱스를 가지고 있으므로, 코드에서 인덱스 리스트를 수정해야 할 필요가 있어요.

예를 들어, 3개의 카메라를 연결했을 경우 각각의 인덱스가 0, 1, 2일 때, camera_indexes 리스트를 다음과 같이 수정하면 됩니다.

camera_indexes = [0, 1, 2]

그리고 generate_frames 함수에서 사용하는 capture 객체도 카메라 인덱스에 따라 다르게 설정해야 합니다.

capture = cv2.VideoCapture(camera_index)

이 부분을 다음과 같이 수정하면 됩니다.

capture = cv2.VideoCapture(camera_indexes[camera_index])

위의 수정 예시대로 수정하시면 2대 이상의 카메라를 연결해서 사용할 수 있습니다. 해당 코드에서는 flask를 통해 연결한 카메라들을 html 상에서 확인할 수 있게 되어있습니다.

참고하시면 도움이 되실 것 같아요. 감사합니다.

안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.

0

14

1

13강 프로젝트생성해보기 관련 질문

0

24

3

제조사측 문의시 대처하는 방법

0

26

0

직접 만들어 봐야 내 지식이 된다

0

21

1

난방실만들기.4 진행 중, m_state 값 초기화가 안됩니다..

0

37

2

아직 보드 5개가 있습니다 - 4월 3일

0

31

1

개발보드에서 커스텀보드로 가는 3단계

0

27

0

IDE 설치 영상 관련 문의

0

53

2

비행승인 문의드립니다

0

37

0

SD 카드 대체품 문의

0

42

1

Gitlab 링크 어디 있나요?

0

44

1

[정보 공유] STM32CubeIDE 버전별 이슈 정리 (1.19 미만 / 2.0.0 이상)

0

139

2

스위치회로 value값 바뀌지 않음

0

47

2

별점과 강의 후기를 적어주시면 개발보드를 무료로 드립니다. (선착순 결제하신 10분)

1

73

1

IMU관련 질문

0

449

1

와이파이 연결 안됨

0

396

0

dht11에 대한 질문입니다.

0

378

0

초음파센서와 라즈베리파이 전압차이에 대한 질문입니다.

0

361

0

강의에 사용되는 소스를 받아볼수 있을까요?

0

343

1

강의에서 사용하신 전체 PDF 자료 받아볼 수 있나요?

0

248

0

라즈베리파이 4 4G로도 충분한가요?

0

323

1

노트북에 연결하면 화면 안뜨나요?

0

439

1

Git hub에서 파일을 다운 받은뒤 어떻게 저장해야되는지 궁금합니다!

0

249

0

마지막 강의 DHT11 센서를 이용한 구현 질문

0

261

0