Извините, что поднял старый пост, но я хотел бы дать другой ответ всем, кто сталкивается с этой темой.
У меня была такая же проблема. Независимо от того, что я сделал, изображение выглядело абсолютно черным. Я попытался сделать несколько последовательных вызовов cvQueryFrame и заметил, что когда я сделал 5 или больше, я мог видеть изображение. Поэтому я начал удалять вызовы один за другим, чтобы увидеть, где был «переломный момент». В итоге я обнаружил, что изображение становится темнее и мрачнее, когда я удаляю каждый звонок. Выполнение всего одного звонка позволило получить изображение, которое было почти полностью черным, но если бы я посмотрел очень внимательно, я мог бы разобрать свое изображение.
Я попробовал 10 последовательных звонков, чтобы проверить свою теорию, и, конечно же, мне дали очень яркое изображение, учитывая, что я нахожусь в слабо освещенной комнате. Надеюсь, это была та же проблема, с которой вы столкнулись.
Я не очень разбираюсь в работе с изображениями, но похоже, что несколько последовательных вызовов cvQueryFrame увеличивают продолжительность экспозиции для камеры. Это определенно решает проблему, хотя это не кажется самым элегантным решением. Я собираюсь посмотреть, смогу ли я найти параметр, который увеличит экспозицию, или, возможно, какой-то другой параметр, который осветлит мои изображения.
Удачи!