全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1519
推到 Plurk!
推到 Facebook!

請問PICOLO範例擷取的影像要怎樣秀在EVISION上做MATCH的動作

缺席
betterjoelove
一般會員


發表:3
回覆:0
積分:0
註冊:2009-04-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-04-29 11:09:04 IP:60.249.xxx.xxx 訂閱
大家好, 小弟在工作上碰到了些許問題
我最近在使用EURESYS 的picolo卡,配合MultiCam提供的BCB範例程式後,抓到的ccd影像,是使用SetDIBitsToDevice將影像顯示在TForm上。
但是因為還要對影像進行辨識進行Match的動作,所以想要顯示在eVision提供的ActiveX元件裡的EBW8EImage去顯示影像並加上EROI與EMatch元件,才能進行後續動作。
但是我將範例裡在作顯示影像的程式部分OnFormPaint裡的程式作修改如下列
// Protection
if (m_pCurrent==NULL) return;

// Get DC of the window
HDC hDevice = GetDC (Handle);-->原始程式
HDC hDevice = GetDC (EBW8Image1->Handle);-->修改程式

// Display picture
SetDIBitsToDevice (hDevice, 0, 0, m_SizeX, m_SizeY,
0, 0, 0, m_SizeY,
m_pCurrent, m_pBitmapInfo, DIB_RGB_COLORS);-->原始程式

// Release DC
ReleaseDC(Handle,hDevice);

// Display channel info on status bar
// Retrieve the channel state
McGetParamInt (m_Channel, MC_ChannelState, &m_ChannelState);

// Retrieve the frame rate
double frameRate_Hz;
McGetParamFloat(m_Channel, MC_PerSecond_Fr, &frameRate_Hz);
// Display frame rate and channel state
StatusBar1->SimpleText = m_StatusBarText.sprintf("Frame Rate: %.2f, Channel State: %s", frameRate_Hz,
(m_ChannelState == MC_ChannelState_ACTIVE? "ACTIVE" : "NOT ACTIVE"));


程式修改之後是可以顯示在EBW8Image上,當停止取像將畫面切換到別的頁面之後影像就會消失
所以我就把上謝的程式碼加在EBW8Image1Refreshed裡面就不會消失
但是當我把當我想儲存圖片時儲存的圖騙裡騙根本沒有畫面,
或是將ROI套在EBW8Image裡時也是無法正確的顯示
這個情況我覺得好像是EBW8Image雖然有顯示圖片但是卻沒有圖片的資料
所以可以請教各位是我有什麼地方弄錯了嗎?
系統時間:2017-10-17 6:17:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!