Opencv cv :: waitKey () возвращаемое значение

Я отлаживаю некоторый код C ++, использующий OpenCV в Ubuntu 14, который, как известно, работает в Ubuntu 12 и, возможно, с другими сборками библиотеки OpenCV.

Что было раньше

int key_pressed = waitKey(0);
cout << "key_pressed " << int(key_pressed) << endl;
switch( key_pressed )
{
    case 27: //esc
    {
        //close all windows and quit
        destroyAllWindows();
    }

    ...

Но этот код не работает и в выводе у меня естьkey_pressed 1048603

Этот код работает:

char key_pressed = cv::waitKey();
cout << "key_pressed " << int(key_pressed) << endl;
switch( key_pressed )
{
    case 27: //esc
    {
        //close all windows and quit
        destroyAllWindows();
    }

    ...

Этот код работает и в выводе у меня естьkey_pressed 27

В чем может быть причина такого поведения?

Постскриптумдокументация говорит что cv :: waitKey () возвращаетintтак почему мы должны преобразовать его вchar?

Ответы на вопрос(1)

Ваш ответ на вопрос