Menu

Main Menu
Talk Get Daily Search

Member's Online

    User Name
    Password

    Video4Linux: Accessing camera aperture and focus.

    Reply
    Page 2 of 3 | Prev |   1   2   3   | Next
    Flandry | # 11 | 2010-01-06, 16:03 | Report

    Sorry Attila, i was just checking to see that the source wasn't in the source package as he had said, and typed "apt-get source mirror" in the SDK, which most likely grabbed the -devel version.

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following User Says Thank You to Flandry For This Useful Post:
    attila77

     
    klen | # 12 | 2010-01-06, 17:32 | Report

    Silly mistake. I missed the part that I am looking for phython script and was searching for "src" dir with ".c" and ".h" files instead. The sources are there, but are not the way forward for me.

    The V4l2ucp looks much more promising.

    Thx

    Edit | Forward | Quote | Quick Reply | Thanks

     
    davost | # 13 | 2010-01-06, 18:43 | Report

    Originally Posted by klen View Post
    The V4l2ucp looks much more promising.
    Yeah,
    Atleast I can control the focus with the ioctls. Dont know the units though. Something in the range of 550 seams to be focusing very close, whereas something like 150 means infinite.

    But when I try to set V4L2_CID_EXPOSURE nothing happens. I tried fiddling with the V4L2_CID_EXPOSURE_AUTO control as you suggested but the driver doesnt seem to support this.

    EDIT: Wait, now it works. Strange

    Edit | Forward | Quote | Quick Reply | Thanks

    Last edited by davost; 2010-01-06 at 20:13.

     
    klen | # 14 | 2010-01-09, 11:32 | Report

    Davost, thank you very much for your post. I am finally getting somwhere.

    Now I also manage to gain access to the V4L2_CID_FOCUS_ABSOLUTE value and can manually control the focus of the camera.

    The aim of my application is to only access the value of V4L2_CID_FOCUS_ABSOLUTE that is set by the auto focusing feature. If I use native camera app to focus on different objects, V4L2_CID_FOCUS_ABSOLUTE parameter changes.

    Now I would like to write my own application that auto focuses on an object like the native camera. I managed to open a GStreamer pipeline, but can not activate auto focusing option.

    The Question:
    Does the native camera app implement the auto focusing algorithms, or, there is a library or hardware option that enables auto focus functionality?


    Bellow are all the values that are supported by the N900 main camera.

    ID: Control Name: Value
    9963776: Brightness:0
    9963777: Contrast:16
    9963793: Exposure time [us]:33000
    9963795: Gain [0.1 EV]:28
    9963807: Color Effects:0
    10094858: Focus, Absolute:105
    10094862: Flash timeout [us]:1000
    10094863: Flash intensity:12
    10094864: Torch intensity:0
    10094865: Indicator intensity:0
    10096766: Test pattern mode:0
    10096815: Focus ramping time [us]:3200
    10096816: Focus ramping mode:2
    10096881: Short-circuit fault:0
    10096882: Overtemperature fault:0
    10096883: Timeout fault:0
    10096884: Overvoltage fault:0
    10160385: Frame width:1593
    10160386: Frame height:504
    10160387: Visible width:684
    10160388: Visible height:492
    10160389: Pixel clock [Hz]:96533333
    10160390: Sensitivity:65536

    Edit | Forward | Quote | Quick Reply | Thanks

     
    attila77 | # 15 | 2010-01-09, 12:09 | Report

    Originally Posted by klen View Post
    The Question:
    Does the native camera app implement the auto focusing algorithms, or, there is a library or hardware option that enables auto focus functionality?
    That would be the camera daemon. As per the dev guide:

    Originally Posted by
    The camera daemon is holding imaging specific extensions to the v4l2 interface. Specifically it runs the so called 3A algorithms – AutoFocus (AF), AutoWhitebalance (AWB) and AutoExposure (AE).
    Unfortunately, that's a License: Nokia thing

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 2 Users Say Thank You to attila77 For This Useful Post:
    Flandry, qwerty12

     
    davost | # 16 | 2010-01-09, 12:13 | Report

    Originally Posted by klen View Post
    Davost, thank you very much for your post.
    Now I would like to write my own application that auto focuses on an object like the native camera. I managed to open a GStreamer pipeline, but can not activate auto focusing option.

    The Question:
    Does the native camera app implement the auto focusing algorithms, or, there is a library or hardware option that enables auto focus functionality?
    I'm following a very similar path as you are. My purpose is to make HDR pics. When I was researching this I finally found out that the mbarcode does autofocus using the gstreamer photography api. I guess this is also the proper way to do exposure control.

    Example on how to set up the pipe line and do autofocus in:
    maemo-barcode/trunk/maemo-barcode/camera_n900.c

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 2 Users Say Thank You to davost For This Useful Post:
    onion, qwerty12

     
    attila77 | # 17 | 2010-01-09, 12:19 | Report

    Yes, gstreamer is the proper way, but there are a few things that are supported on lower levels but are not implemented in gstreamer. Apparently, they take patches

    Edit | Forward | Quote | Quick Reply | Thanks

     
    klen | # 18 | 2010-01-09, 13:22 | Report

    Great stuff guys!

    Now I have all pieces of the puzzle for my app .

    Many thanks to you and the rest of the community.

    Cheers,
    Klen

    Edit | Forward | Quote | Quick Reply | Thanks

     
    LuisN900 | # 19 | 2010-04-08, 17:21 | Report

    ¿Do you know how to obtain the focal distance to the objetive? or in other case, how can be changed the zone wheres is the autofocus applied? For example, If I want to focus one object in the corner that isn't in the center or isn't the nearest object, how can we do that?

    Thanks in advance!

    Edit | Forward | Quote | Quick Reply | Thanks

     
    cb22 | # 20 | 2010-04-08, 17:26 | Report

    I've searched on the web, but I can't seem to find any existing free software that could be used as a base for contrast-based autodetection.

    Basically, if you can detect the total contrast of a scene, you play with the focus until you get the contrast to a maximum. That is your focused point. you could do selective focus by using a bounding box around the area you wish to focus...

    Does anyone know of a library that supports getting the overall image contrast level?

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 2 Users Say Thank You to cb22 For This Useful Post:
    klen, onion

     
    Page 2 of 3 | Prev |   1   2   3   | Next
vBulletin® Version 3.8.8
Normal Logout