Reply
Thread Tools
Posts: 1 | Thanked: 1 time | Joined on Oct 2011
#1
I wrote a simple program for Maemo by Python to check some pixels color every time that my function is called.
But this program is working so slow (3-5 seconds each call).
Is there any faster way for doing this?

Code:
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
 

The Following User Says Thank You to sinal For This Useful Post:
Posts: 1,101 | Thanked: 1,185 times | Joined on Aug 2008 @ Spain
#2
Originally Posted by sinal View Post
I wrote a simple program for Maemo by Python to check some pixels color every time that my function is called.
But this program is working so slow (3-5 seconds each call).
Is there any faster way for doing this?

Code:
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
Probably it takes that time to build the gstreamer stream, activate the camera, take the image, and deactivate the camera
mplayer allows to save a screenshot in slave mode, see mplayer's man page.
You could have mplayer running and send it the screenshot command whenever you need to take the image.
 

The Following User Says Thank You to maacruz For This Useful Post:
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 16:47.