推 n666160: 試試看waitKey(1)是不是你要的 03/09 12:14
推 suwako: waitKey的參數可以決定等待的時間 03/09 15:09
感謝,把它複雜了><
不過還有一個問題想請教一下
我的程式碼大概如下
while(1){
while(1){
for(){
程式碼;
}
waitKey(1); //然後BREAK
}
}
有時候他會偵測不到按鍵,是因為太快嗎?
※ 編輯: hotrain13 (140.130.9.102), 03/09/2016 15:17:15
※ 編輯: hotrain13 (140.130.9.102), 03/09/2016 15:17:56
推 suwako: 建議你貼上完整一點的程式碼 比較能找出問題 03/09 15:36
推 VSei: if ( cvWaitKey(27) >=0 ) { break; } 03/09 16:32
感激不盡,程式碼如下:
while(1){
.
.
.
while (1){ //希望可以退出這個迴圈
for (int q = 30; q < 149; q++)
{
cvShowImage("image", Image);
for (int w = 0; w < 4000; w+)
{
FillRectangle(XYZ_New[q][w][0], XYZ_New[q][w][1], XYZ_New[q][w][2]);
}
Delay_DoEvents(0.001);
}
key = waitKey(1); //有時候抓不到
printf("%d\n", key);
if (key == '1')
{
Pointx = Pointx + 10;
break;
}
else if (key == '2')
{
Pointx = Pointx - 10;
break;
}
}
}
※ 編輯: hotrain13 (140.130.9.102), 03/09/2016 18:52:36
※ 編輯: hotrain13 (140.130.9.102), 03/09/2016 18:53:25
※ 編輯: hotrain13 (140.130.9.102), 03/09/2016 18:55:50
推 suwako: 我自己簡單測試了一下 沒有抓不到的問題阿 03/10 07:52
改成waitKey(100)就可以了,可能是鍵盤的沒船那麼那麼快@@
感激不盡!
→ bdvstg: 為什麼waitKey不寫在回圈內 印象中畫面需要waitKey來更新 03/10 10:43
寫在for面的話,如果圖更新到一半有按鍵它就會直接跳出重新繪圖
我是希望可以整張圖繪完,有按鍵在重新繪圖
沒有按鍵就一直會原本的圖
推 storm654321: waitKey 要拿來抓有沒有按按鍵不是嗎?@@不是一定要擺 03/10 16:40
→ storm654321: 嗎? 03/10 16:40
抱歉>< ,不是很懂你的意思?
※ 編輯: hotrain13 (140.130.9.102), 03/10/2016 18:31:59