2015-01-05 3 views
0

ROV를 제작할 계획이며 비디오 피드 atm을 작업 중입니다. 필자는 모든 통신에 광섬유를 사용할 것이며 opencv로 파이썬으로 웹캠 피드를 스트리밍하려고합니다. IP 카메라를 사용하도록 선택할 수도 있지만 먼저 파이썬에서 웹캠 프레임을 캡처하는 방법에 대해 자세히 알고 싶었습니다. 결국 내가 사용하려고하는 것이 무엇인지 알지 못했기 때문에 모든 것을 작동 시키려고 noname USB 웹캠을 구입했습니다. 이 카메라 피드는 탐색 용으로 사용되며 별도의 비디오 레코더가 비디오 녹화에 사용됩니다.파이썬을 사용하는 이더넷을 통한 높은 FPS 실시간 스트리밍

이제는 문제가 해결되었습니다. 프레임을 캡처 할 때 나는 단지 8 FPS를 얻고 있지만 값싼 웹캠 때문인 것으로 의심됩니다. 웹캠은 스러 스터와 센서를 제어하기 위해 arduino에 연결된 pcduino 3 nano에 연결됩니다. 이미지 인코딩 및 디코딩에서 하드웨어를 활용하는 방법을 생각해 본 적이 없지만 하드웨어를 활용할 수 있는지 여부는 아직 알지 못합니다.

여러분들은 병목 현상이 내 웹캠이라고 생각합니까? IP 카메라를 사용하는 것이 더 좋은 생각입니까 아니면 opencv 또는 다른 방법으로 pcduino 3 nano 캡쳐 프레임에 연결된 웹캠을 사용하여 적당한 FPS를 얻을 수 있어야합니까? 나에게 같은 결과를 주었던 파이 게임으로 프레임 캡처를 시도했다. 나는 또한 mjpg-streamer를 시도했다.

파이썬에서 임 프로그래밍, 이것은 내가 만든 테스트입니다 :

import cv2, time 
FPS = 0 
cap = cv2.VideoCapture(0) 

last = time.time() 

for i in range(0,100): 
    before = time.time() 
    rval, frame = cap.read() 
    now = time.time() 
    print("cap.read() took: " + str(now - before)) 
    if(now - last >= 1): 
     print(FPS) 
     last = now 
     FPS = 0 
    else: 
     FPS += 1 
cap.release() 

그리고 결과의 라인에 있습니다

cap.read() took: 0.118262052536 
cap.read() took: 0.118585824966 
cap.read() took: 0.121902942657 
cap.read() took: 0.116680860519 
cap.read() took: 0.119271993637 
cap.read() took: 0.117949008942 
cap.read() took: 0.119143009186 
cap.read() took: 0.122378110886 
cap.read() took: 0.116139888763 
8 

답변

0

웹캠을 명시 적 사양에서의 프레임 속도를 명시해야 , 그리고 그것은 병목이 카메라인지 여부를 명확히 말해 줄 것입니다.

그러나 병목 현상이 pcDuino3이라고 생각합니다. 대부분의 경우 비디오를 매우 빠르게 디코딩 할 수 없으므로 낮은 프레임 속도가 발생합니다. 이 정확한 코드를 실제 컴퓨터에서 시험해볼 수 있습니다. 또한 OpenCV와 mjpg-streamer는 jpeg 프레임을 디코딩 할 때 libjpeg를 사용하므로 비슷한 프레임 속도는 놀라운 것이 아닙니다.

+0

답장을 보내 주셔서 감사 드리며, 주 컴퓨터에서 코드를 시도한 결과 똑같은 결과를 얻었습니다. 제가 구입 한 웹캠은 이전에 싸구려 이름없는 카메라를 언급했기 때문에 어디서나 어떤 사양도 찾을 수 없습니다. 그러나 나는 30 fps의 성능을 가진 더 좋은 카메라를 주문했는데 몇 가지 테스트를 할 것입니다. 하드웨어인지 여부는 확실하지 않았습니다. 하지만 opencv 훨씬 더 높은 fps 가능 것 같아요? – Jaman42

+0

OpenCV는 컴퓨터가 충분히 빠르면 더 높은 프레임 속도를 확실히 처리 할 수 ​​있습니다. 나는 문제없이 90 fps USB3 카메라를 사용했습니다. 카메라에 대한 사양이 없다면 끔찍한 선택 일 것입니다. – Clukester