Я использую C ++ и OpenCV для обработки некоторых изображений, снятых с веб-камеры в режиме реального времени, и я стремлюсь добиться максимальной скорости от моей системы.
Кроме изменения алгоритма обработки (предположим, что пока вы не можете его изменить). Что-нибудь, что я должен сделать, чтобы максимизировать скорость обработки?
Я думаю, что здесь может помочь многопоточность, но мне стыдно сказать, что я действительно не знаю все подробности (хотя, очевидно, я использовал многопоточность раньше, но не в C ++).
Предполагая, что у меня есть x-core процессор, разделение обработки на x потоков на самом деле ускоряет процесс? ... или издержки управления этих потоков сводят его на нет, предполагая, что я ищу пропускную способность 20 кадров в секунду (полагаю это повлияет на ответ, который вы дадите, так как оно должно дать вам представление о том, сколько обработки будет выполнено для потока)
Может ли многопоточность помочь здесь?
Существуют ли какие-либо советы по увеличению скорости OpenCV, а также любые подводные камни, с которыми я могу столкнуться, которые снижают скорость.
Спасибо.