c++ - 暂停时编辑轨迹栏值

标签 c++ opencv

在下面的代码中,我创建了一个循环,它一直运行到按下“q”为止。我正在使用轨迹栏设置 2 个变量。但是,我想在运行此循环之前创建某种暂停来设置这些轨迹栏。然而,getch() 函数会卡住整个程序,直到我按下一个键并且不允许我编辑轨迹栏。是否可以创建某种允许我编辑轨迹栏的暂停?

int main(int argc, const char * argv[])
{
    cvNamedWindow("test image", CV_WINDOWS_AUTOSIZE);
    cvCreateTrackbar("subject", "test image", &subjectID, 40, NULL);
    cvCreateTrackbar("subject", "test image", &photoID, 10, NULL);
    ...
    <some more code>
    ...

    while(key != 'q')
    {
        cout << "set trackbars and press enter";
        getch()
        ...
        <and more code>
        ...
    }
}

最佳答案

另一个 while 循环和 cv::waitKey() 应该可以解决问题。

cout << "set trackbars and press enter"; //you might want to put this inside the loop
while (true) {
            int c = waitKey(10);
            if( c == 13) { break; } 
        }

while(key != 'q')
{
    ...
    /*all your code*/
    ...
}

关于c++ - 暂停时编辑轨迹栏值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10445898/

相关文章:

c++ - 运算符 << 作为成员函数

c++ - 从 ‘void’ 到非标量类型的转换‘std::pair<std::basic_string<char, std::char_traits<char>

python-3.x - tesseract 输出与输入图像不同

c++ - 使用 opencv 支持的 VLC 编译错误

c++ - 编译 boost C++ 库 1.54 时出错

c++ - 运行时错误 : reference binding to null pointer of type 'int'

c++ - 编辑函数后出现 CL_INVALID_KERNEL_NAME 错误(更新日志文件)

c - 文件是为 i386 构建的,它不是在 Mac OSX 10.6 上为 iOS 4.2 编译 OpenCV2.2 时链接的体系结构 (x86_64)

c++ - 在 Visual "Microsoft studio 2019"上设置 OpenCV 4.1.1 有问题吗? (非法指令。)

python - 在 RGB 图像中查找 Point 之间的路径