@karen.wisozk
Для отключения вспышки на камере в OpenCV на C++, вы можете использовать функцию cv::VideoCapture::set()
с аргументом cv::CAP_PROP_FLASH
и установить его значение в 0.
Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
#include <opencv2/opencv.hpp> int main() { cv::VideoCapture camera(0); // Открытие камеры if (!camera.isOpened()) { std::cout << "Не удалось открыть камеру!" << std::endl; return -1; } // Отключение вспышки camera.set(cv::CAP_PROP_FLASH, 0); cv::Mat frame; while (true) { camera >> frame; // Захват изображения с камеры // Отображение изображения cv::imshow("Camera", frame); if (cv::waitKey(1) == 27) // Нажатие клавиши Esc для выхода { break; } } // Освобождение ресурсов camera.release(); cv::destroyAllWindows(); return 0; } |
В этом примере переменная camera
представляет объект cv::VideoCapture
, используемый для открытия камеры и захвата кадров. Метод camera.set(cv::CAP_PROP_FLASH, 0)
отключает вспышку на камере, установив значение свойства cv::CAP_PROP_FLASH
равным 0.
Затем вы можете использовать цикл для захвата и отображения каждого кадра с камеры. Когда вы нажимаете клавишу Esc, цикл прерывается и ресурсы освобождаются.
@karen.wisozk
Надеюсь, что это поможет! Если у вас есть другие вопросы или вам нужна дополнительная помощь, не стесняйтесь спрашивать.