利用MIL作影像平均如何加快速度 |
答題得分者是:friendlly
|
hipig
高階會員 發表:31 回覆:75 積分:111 註冊:2007-01-15 發送簡訊給我 |
其實不完全使用mil
而僅有截圖時使用 照規格來看手邊使用的CCD相機應該有每秒29張(640*480下)得能力 但我如果連續擷取30張圖後作平均竟然需要5秒的時間 想請問各位前輩這正常嗎 還是說程式寫錯了 [code cpp] MbufClear(MilImage1 , 0L); LARGE_INTEGER start, end, Hz; QueryPerformanceFrequency(&Hz);//取得CPU頻率 QueryPerformanceCounter(&start);//開始 if(abs(StrToInt(Edit1->Text))<=1) { Application->MessageBox("FPS(張數)要2才能作影像平均", "警告", MB_OK MB_ICONSTOP MB_TOPMOST); CheckBox2->Checked = false; return; } unsigned long int SavImageSize = IMAGE_WIDTH*IMAGE_HEIGHT, *MilImage3; unsigned char *MilImage2; MilImage2 = new unsigned char[SavImageSize]; MilImage3 = new unsigned long int[SavImageSize]; for(int k=0;k<(StrToInt(Edit1->Text));k ) { MbufClear(MilImage , 0L); MdigHalt(MilDigitizer); MbufGet(MilImage, MilImage2); MdigGrabContinuous(MilDigitizer, MilImage); for(long int i=0;i Application->ProcessMessages(); MilImage3[i] =MilImage2[i]; } } for(long int i=0;i Application->ProcessMessages(); MilImage2[i]=(MilImage3[i]/StrToInt(Edit1->Text)); } MdigHalt(MilDigitizer); MbufPut(MilImage, MilImage2); MbufCopy(MilImage, MilImage1); MdigGrabContinuous(MilDigitizer, MilImage); delete []MilImage2; delete []MilImage3; QueryPerformanceCounter(&end);//結束 [/code] 謝謝 |
friendlly
高階會員 發表:22 回覆:144 積分:103 註冊:2003-04-08 發送簡訊給我 |
|
friendlly
高階會員 發表:22 回覆:144 積分:103 註冊:2003-04-08 發送簡訊給我 |
|
hipig
高階會員 發表:31 回覆:75 積分:111 註冊:2007-01-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |