ubuntu を実行している ARM のデバイス ドライバーにカメラ ストリームをパイプする必要があります。今、私はPythonでこれをより効率的に行うことができるかどうか疑問に思っていました. 最初に各要素にアクセスし、.open() を使用します。しかし、実際には効率的ではありませんでした。ここで、このプログラムを実行して、デバイス ドライバー (またはファイル) にパイプします。しかし、Pythonでこれをより効率的にできるかどうか疑問に思っていましたか? このコードを使用すると、私のアーム プロセッサで 25 fps が得られるとは思いません。いくつかのテストを実行しましたが、7fps 程度しか得られませんでした。
#!/usr/bin/python
import cv
import sys
import os
camera_index = 1
capture = cv.CaptureFromCAM(camera_index)
def repeat():
global capture
global camera_index
global count
frame = cv.GetMat(cv.QueryFrame(capture))
framegray = cv.CreateMat(480, 640, cv.CV_8UC1)
cv.CvtColor(frame, framegray, cv.CV_BGR2GRAY)
sys.stdout.write(framegray.tostring())
#cv.ShowImage("Webcam", framegray)
c = cv.WaitKey(40)
#pipe_out.close()
if c == 27:
sys.exit()
#waitkey kan executitijd van bv dingen ervoor aftrekken
while True:
repeat()