I have an imaging source which has a bit depth of 12 feeding into GStreamer. The eventual output will have a bit depth of 8. The scene being imaged is very low light. I can take images captured from this source (16-bit TIFFs), and in GIMP I can adjust the Exposure (Colors -> Exposure) to make details visible which were not previously.
Currently, when GStreamer is converting from 12-bit to 8-bit, it seems like it is compressing the entire 12-bit range into the smaller 8-bit range. What I'd like to do instead is maybe chop off the upper 4 bits, or ideally apply some sort of level curve to the image (which is what I think GIMP is doing).
I've looked around, but can't seem to find any way to do this. I've tried the videobalance
plugin, but it doesn't seem to do what I want.
Any ideas?