OpenCV动画

Ata*_*baş 0 c++ opencv

我在C++中制作Langton的Ant,当我尝试绘制正方形时,我可以.但我不能在循环中做到这一点.

for(int i = 0;i<=100;i++){
        rectangle( image, Point( i*5, 0 ), Point( (i*5)+5, 5), Scalar( 0, 55, 255 ), CV_FILLED, 4 );
        imshow("kare",image);
        Sleep(100);
    }
Run Code Online (Sandbox Code Playgroud)

它等待10秒钟,然后同时绘制所有方块.如果我cvWaitKey(0);在睡觉前添加,我会遇到同样的问题.当我"触摸"键时,它会画,但是当我按住时,它不会画.当我退回手指时,它会画出来.

我该如何解决?问候.

Har*_*ris 5

您正在混合使用C和C++ API,cvWaitKey(0)属于弃用的C.还要 cvWaitKey(0) 等到用户按下键.

所以只需使用

waitKey(33)而不是sleep(),每次后将等待33毫秒imshow().