ccd的擷取問題 |
答題得分者是:ikk
|
octto741023
一般會員 發表:13 回覆:3 積分:3 註冊:2008-11-25 發送簡訊給我 |
我要同一時間顯示三個畫面,第一個畫面是擷取進來的原圖,第二個畫面是複製擷取進來的圖做Blue層,第三個畫面是複製擷取進來的圖做二值化,
因為ccd擷取的速度是30fps,可是我用複製的效率狠差,lag的請況還蠻嚴重的,想說有沒有什麼方法可以加快!! newptr1=new unsigned char [m_SizeX*m_SizeY*3]; newptr2=new unsigned char [m_SizeX*m_SizeY*3]; for(int k=0;k newptr1[k]=((unsigned char*)m_pCurrent)[k]; newptr2[k]=((unsigned char*)m_pCurrent)[k]; } for(int i=0;i //(((unsigned char*)m_pCurrent) m_SizeX*3*i)[3*j 2] = (((unsigned char*)m_pCurrent) m_SizeX*3*i)[3*j 1] = 0; for(int i=0;i if((newptr2 m_SizeX*3*i)[3*j]>128) (newptr2 m_SizeX*3*i)[3*j]=255; else (newptr2 m_SizeX*3*i)[3*j]=0; if((newptr2 m_SizeX*3*i)[3*j 1]>128) (newptr2 m_SizeX*3*i)[3*j 1]=255; else (newptr2 m_SizeX*3*i)[3*j 1]=0; if((newptr2 m_SizeX*3*i)[3*j 2]>128) (newptr2 m_SizeX*3*i)[3*j 2]=255; else (newptr2 m_SizeX*3*i)[3*j 2]=0; sum=(newptr2 m_SizeX*3*i)[3*j]=(newptr2 m_SizeX*3*i)[3*j 1]=(newptr2 m_SizeX*3*i)[3*j 2]; } p.s.算是新手 剛完bcb與ccd 用的是mutilcam。 |
ikk
尊榮會員 發表:4 回覆:413 積分:768 註冊:2003-06-30 發送簡訊給我 |
[code cpp] memcpy(newptr1, m_pCurrent, sizeof(char)*m_SizeX*m_SizeY*3); memcpy(newptr2, m_pCurrent, sizeof(char)*m_SizeX*m_SizeY*3); [/code] 還有 m_SizeX*3 可以簡化只做一次 int m_SizeX_mul_3 = m_SizeX*3;
------
FPGA驗證, FPGA開發平台, http://smims.com
編輯記錄
ikk 重新編輯於 2008-12-18 10:12:25, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |