用vc6.0進行開發真的有點蛋疼,在實作jpeg圖檔的播放,vc6.0的picture控件居然隻支援位圖>_<
開始想法是在程式中加一個編碼過程,邊讀圖邊解碼邊顯示,先将jpeg圖檔轉化為位圖再顯示,但代價是在opencv中的自帶的函數支援編解碼,但要先寫下來,是以讀寫再度時間較長無法滿足實時性的要求;
第二種方法是用vtk中帶的vtkjpegreader類,在mfc中建立一個vtk的自定義控件,後讀入顯示,但結果是讀入顯示太慢,螢幕會一閃一閃的,速度太慢,查資料說要用雙緩沖的技術;
後繼續找資料,找到了cvvimage的類,這個類功能有點強;
opencv vc6.0的配置直接網上搜吧,這裡不在累述
建立一個界面,如圖:
簡單地包含一個picture的控件和一個按鈕控件
設定picture控件的id為:idc_picture
往dlg.c檔案中加入opencv的頭檔案:
在debug運作時還應加入highgui100.dll到目錄下
接着對按鈕繼續消息相應函數的編寫:
在mfc的架構下cvwaitkey();這一函數無法延時;
用for(;;)循環也不能進行延時;
經測試sleep()可以進行延時
結果是應該能達到二十多幀,
結果:
雙緩沖的技術可能馬上就會用到>_<
除非有特殊要求,勁量還是不要用vc6.0