Выбор языка низкого уровня, такого как C или C ++, вероятно, означает, что вы повышаете производительность за счет времени разработки.
Если это ваш первый низкоуровневый язык, изучите C. Это простой, надежный и проверенный язык, позволяющий писать быстрый код. Он имеет многолетнюю историю мобильности. Гораздо проще интегрировать код C с кодом, написанным на других языках. С C ++ слишком легко ошибиться. C ++ требует гораздо большей степени владения языком и гораздо большего внимания программиста, чтобы все исправить. Хотя можно быстро написать код на C ++, это больше искусство, чем делать то же самое в C.
Если у вас есть только несколько месяцев для изучения, то в конце вы сможете написать код ОК C, но этого времени просто недостаточно для получения достаточного опыта работы с C ++, следовательно, ваш код C ++, написанный на первый год или два будет ужасным.
См., Например, жесткую критику C ++ от Линуса Торвальдса: C ++ - ужасный язык и C ++ производительность . По сути, это сводится к тому, что C ++ слишком сложен даже для профессиональных программистов, а код C ++ неоднозначен с контекстно-зависимым поведением (это может считаться особенностью языка более высокого уровня, но это усложняет оценку производительности).
Одна из основных библиотек с открытым исходным кодом для компьютерного зрения, OpenCV, доступна как для C, так и для C ++, но она также доступна для Python, который является гораздо более простым языком для быстрого выполнения задач (а также для изучения как первый язык). Кстати, я предполагаю, что если вам удастся переложить большую часть работы в библиотеку, которая сама написана на C / C ++, затраты на производительность Python не будут огромными (но, как правило, Python в 10 раз медленнее, чем C).