2011-07-23 95 views
1

在關於閱讀AVI視頻的Learning OpenCV書中。OpenCV - char vs. int

我輸入的程序如下:

char c = cvWaitKey(33); 
if (c == 27) break; 

正如你所看到的,c被定義爲charif-statement如何比較cint

而且,當我們有這樣的說法:char c = cvWaitKey(33);,請問cvWaitKey(33);返回的值爲char

謝謝。

回答

4

A char只是一個介於-128和127之間的數字(如果它是無符號的,則爲0和255),通常但不總是代表ASCII字符代碼。

如果編譯器屬於值的有效範圍內,那麼隱式地將整數文字轉換爲char這是if語句中發生的情況。

cvWaitKey函數返回被按下的鍵的字符代碼。 ASCII字符代碼27恰好對應於ESC鍵。

參數cvWaitKey(33)是等待的毫秒數。每幀等待33ms(這正是我所期望的)意味着應用程序運行在30fps。