Может быть кто-то знает как правильно построить многопоточную программу на

dx11? (Как в главном потоке обновлять текстуру и в других потоках её читать и переводить в Mat)

2 ответов

7 просмотров

Используйте интерфейс ID3D11DeviceContext (или по другому называется, сейчас не помню) далее разделите о потокам и все будет ок.

что бы не блокировать чтение и записи, можно сдеолать так. std::mutex textureMutex; std::condition_variable textureUpdated; в потоке главное() std::unique_lock<std::mutex> lock(textureMutex); textureUpdated.wait(lock); cv::Mat image(100, 100, CV_8UC1); // создание объекта Mat for (int i = 0; i < image.rows; i++) for (int j = 0; j < image.cols; j++) image.at<uchar>(i, j) = textureData[i * image.cols + j]; в потоке 2 // Здесь происходит обновление текстуры (например, через DirectX 11) // Для примера просто заполним текстуру случайными данными std::unique_lock<std::mutex> lock(textureMutex); textureData.resize(100); // Пример размера текстуры std::generate(textureData.begin(), textureData.end(), []() { return rand() % 256; }); textureUpdated.notify_all(); как то так.....

Похожие вопросы

Обсуждают сегодня

Кто что использует для создания приложения/бэка обработки видеопотока в реальном времени? FFmpeg или GStreamer? По моему небольшому опыту, первый лучше и гибче. Но почему-то...
Georgy Makarov
5
Всем привет! Слушаем rtsp пото с одной камеры приходят серые кадры как будто не прогруженные (не все, но их большинство) в чем может быть проблема?
Evgeniy
3
Привет! Хочу наложить одно изображение на другое, с учетом альфа канала, щяс это делаю так, как на скрине, есть вариант покороче?
Phantom
4
Здравствуйте, а хорошая ли идея смешивать нейронки? То есть, у нейронки задача щелкнуть 1 раз, но есть датасет с одним типом картинок и с другим. Хотелось бы сделать универсал...
Никита
5
а вот скажем условно стоит задача научить автоматически ехать по дороге машину в гта распознавать линии полосы +- понятно как, но как определять сторону движения?
Дурачок Глупый
5
кто мешает подписать все соответствующие документы? мы открыты
Mary🍋
5
Только сейчас дошли руки до Orange pi 5. Это нормально что на нем YOLOv5s выдает 1 кадр раз в 2-3 секунды на CPU? Это без оптимизаций и прочих настроек, просто голый запуск че...
Denis
17
А изображения ещë и разного размера?
Timofey Rogoff
3
Доброе утро. Подскажите, если если 4 корутины, внутри которых VideoCapture, то будут ли они работать асинхронно? Т.к. нагуглил, что Videocapture в моменте может быть открыт то...
Alexander👨‍💻
19
Всем привет! подскажите пожалуйста как можно увеличить качество фото?
Evgeniy
19
Карта сайта