我需要将我的相机流传输到运行 ubuntu 的 ARM 上的设备驱动程序。现在我想知道是否可以在 python 中更有效地做到这一点。我首先访问每个元素并使用 .open()。但是确实效率不高。现在我只需运行该程序并将其通过管道传输到设备驱动程序(或文件)。但我想知道我是否可以用 python 更有效?我认为使用此代码不会在我的 arm 处理器上给我 25fps。我进行了一些测试,结果只有 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()