Да, это не может работать.cvWaitKey () реализуется путем вызова функции PeekMessage () API.Это может видеть только сообщения в очереди сообщений, которая связана с потоком.В созданном вами потоке нет окон.
Для этого нет очевидного обходного пути, вы должны вызвать его в потоке, создавшем окно.Вызов GetAsyncKeyState () может работать, хотя это совсем другой подход.