線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1184
推到 Plurk!
推到 Facebook!

ccd的擷取問題

答題得分者是:ikk
octto741023
一般會員


發表:13
回覆:3
積分:3
註冊:2008-11-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-12-16 17:42:34 IP:140.120.xxx.xxx 訂閱
我要同一時間顯示三個畫面,第一個畫面是擷取進來的原圖,第二個畫面是複製擷取進來的圖做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 for(int j=0;j (newptr1 m_SizeX*3*i)[3*j 1]=(newptr1 m_SizeX*3*i)[3*j 2]=0;

//(((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 for(int j=0;j {
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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-12-18 10:10:50 IP:163.28.xxx.xxx 訂閱

[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, 註解 無‧
系統時間:2024-04-27 0:36:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!