Re: [討論] 即時影像處理無法達到即時

看板MATLAB作者 (海綿)時間9年前 (2016/02/24 12:05), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串2/2 (看更多)
目前在做影像處理做GUI的時候 好像也有跟原PO發生一樣的問題 抓進來的Frame即時運算秀數字在GUI上面 我是設定set(vid,'FramesPerTrigger',13); 每一張圖片取出五個要計算的區塊 分別做計算秀出五個數字 假設Frame設定跑到第300張停止 GUI上面另外寫一個顯示Frame數目的text框 每次程式跑起來Frame跳動的數目都不是1.2.3.4.5.6.7.8.9.10.~300 每間格1的顯示方式 而是都會間隔10幾20的跳動 不知道是計算量太大來不及顯示,還是因為記憶體的關係導致無法即時顯示? 只是從Command Window上可以確定他有在計算有一直在閃動視窗 不知道有沒有高手大大有更好的方法可以解決這類即時計算顯示的問題 感謝 ※ 引述《rlf82215 (瑋)》之銘言: : 最近在做即時影像相減的研究 : 當剛開始執行程式時 : 程式執行速度大概每個frame執行0.3秒 : 但是當執行時間越久 : 每個frame的執行時間會慢慢上升 : 到後來處理一個影格差不多要一秒鐘 : 沒辦法達到即使影像處理 : 有想過每處理完一個frame後就執行clear一次 : 但是效果有限 感覺問題不在這 : 以下是我程式大概的架構 : 有做過即時影像處理的前輩能幫個忙嗎 : 有三個視訊鏡頭同時執行這段程式 : 變數使用蠻多的 : 不知道有沒有關聯 : vid = videoinput('winvideo',1,'YUY2_640x480'); : set(vid,'ReturnedColorSpace','rgb'); : triggerconfig(vid,'Manual'); : set(vid,'FramesPerTrigger',1); : set(vid,'FrameGrabInterval',1); : set(vid,'TriggerRepeat',300); : start(vid) : while (vid.FramesAcquired <= 20) : 擷取一張底圖 : end : while(vid.FramesAcquired <= 300) : 影像相減判斷物體演 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.223.199 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1456286741.A.505.html

02/25 00:05, , 1F
pause(.01); 試試看
02/25 00:05, 1F

02/25 00:06, , 2F
我也不知道理由,不過如果程式跑太快他也不會即時更新,所
02/25 00:06, 2F

02/25 00:06, , 3F
以我都暫停給他時間更新
02/25 00:06, 3F

02/25 13:03, , 4F
drawnow ?
02/25 13:03, 4F

02/25 20:08, , 5F
畫完圖下指令drawnow 讓他即時更新
02/25 20:08, 5F
文章代碼(AID): #1MpImLK5 (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1MpImLK5 (MATLAB)