@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, цикл прерывается и ресурсы освобождаются.