【问题标题】:use maemo camera by python通过 python 使用 maemo 相机
【发布时间】:2011-12-15 03:46:54
【问题描述】:

我用 Python 为 Maemo 编写了一个简单的程序,每次调用我的函数时检查一些像素的颜色。但是这个函数运行得很慢(每次调用 3-5 秒)。有没有更快的方法来做到这一点?

import Image
import os
import sys

# sen_pos = (pixel_x, pixel_y)
def sen(sen_pos):
    os.system("gst-launch v4l2src device=/dev/video0 num-buffers=1 ! ffmpegcolorspace ! jpegenc ! filesink location=cam.jpg")
    frame = Image.open("cam.jpg")
    col = frame.getpixel((sen_pos[0], sen_pos[1]))
    avecol = sum(col) / len(col)
    if avecol > 127:
        return "white"
    elif avecol < 127:
        return "black"
    return None

【问题讨论】:

  • 完全不熟悉gstreamer,色彩空间转换真的有必要吗?此外,将质量参数调整为 jpegenc 可能会有所帮助。

标签: python camera gstreamer maemo


【解决方案1】:

通过os.system 调用外部程序可能需要花费一些时间。

尝试改用GStreamer Python Bindings,并在通话之间保留视频对象。 The docs for Videomixer 可能会有所帮助。

【讨论】:

    【解决方案2】:

    正如乔治所说,您可能会在系统调用中产生开销,但我怀疑getpixel() 调用。 PIL 的getpixel() 速度非常慢。取而代之的是load() 图像,然后循环遍历——应该会更快。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-14
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 2019-10-07
      • 2017-12-01
      • 2022-08-02
      • 1970-01-01
      相关资源
      最近更新 更多