-
Notifications
You must be signed in to change notification settings - Fork 9
Change default exposure to neutral #74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Another recent comment, with an image of how dark -7 is on some cameras: |
|
@philipqueen - Do you want to try to fold in the "recommended exposure" method I developed on the
I think it shouldn't be too hard to shoe-horn it in to the existing connection logic in main-branch SkellyCam, but there might be some trickiness too it. I guess you'd need a way to make sure that the recommended exposure made it back to update the relevant setting in the QT Camera Settings Parameter tree |
|
As we discussed offline, part of the problem is that default camera settings tend to put the camera exposure way too high for mocap - the resulting images have too much blur which can lead to really bad performance in the mocap (mostly due to tracker loss) The 'recommend' method linked above seems like a pretty good balance between getting exposure setting that are bright enough to see, but dark enough to have low blur. |
|
Also - I'm not 100% sure about this, but I feel like that |
|
All that said, if it winds up being difficult to implement the 'recommend' settings for whatever reason, I'm down to change the initial value to You'd still need/want to catch the actual extracted exposure value from the camera and update the QT view.... I suppose if THAT gets difficult, we could also just bump the default exposure to |
|
Ok, testing this it looks like (on Mac) we're not able to properly turn auto exposure off with opencv. The calls to It looks like different backends require different values for setting auto exposure on and off. I've found the values for windows backends and v4l online, but still looking for the values for AVFoundation (and potentially GStreamer) backend. |
|
Well, I did some more digging and it looks like OpenCV just doesn't support changing from autoexposure mode, or setting exposure values with the AVFoundation backend: https://github.com/opencv/opencv/blob/4.x/modules/videoio/src/cap_avfoundation_mac.mm#L505 The issue goes back to AVFoundation itself, which doesn't provide manual exposure options for cameras on MacOS |

The current default for skellycam is to open the cameras at a relatively dark setting to minimize glare. As I understand it this makes tracking better on the webcams we've tested. The issue is on some cameras this initial setting works, but users are not then able to change the exposure to their desired value. The result is users stuck in a too-dark camera state.
This PR changes the default exposure setting to 0 in order to provide a better default for users who can't change their exposure setting after the fact. This seems like a "friendlier" default setting.
Examples of users with this issue:
https://discord.com/channels/760487252379041812/760489602917466133/1369848196658106388
https://discord.com/channels/760487252379041812/760489602917466133/1337595262113284251
https://discord.com/channels/760487252379041812/760489602917466133/1314302387225235506
https://discord.com/channels/760487252379041812/1274006352464973934/1296134747185086474