关于如何在回调函数中添加图像处理操作

用户名已存在1 2016-08-07 03:56:26
图像采集SDK二次开发,这是

BOOL CGigeCameraDemoDlg::OnInitDialog()
{
......
// Select acquisition server from dialog
// Only the servers that support "AcqDevice" resource are listed

CAcqConfigDlg dlg(this, CAcqConfigDlg::ServerAcqDevice);
if (dlg.DoModal() != IDOK)
{
MessageBox(_T("No GigE-Vision cameras found or selected"));
EndDialog(TRUE);
return FALSE;
m_AcqDevice = new SapAcqDevice(dlg.GetLocation(), dlg.GetConfigFile());
m_Buffers = new SapBufferWithTrash(2, m_AcqDevice);
m_Xfer = new SapAcqDeviceToBuf(m_AcqDevice, m_Buffers, XferCallback, this);[/color]
m_View = new SapView(m_Buffers);


// Attach sapview to image viewer
m_ImageWnd.AttachSapView(m_View);

// Create all objects
if (!CreateObjects())
{
EndDialog(TRUE);
return FALSE;
}

m_ImageWnd.AttachEventHandler(this);
m_ImageWnd.CenterImage();
m_ImageWnd.Reset();

UpdateMenu();

return TRUE; // return TRUE unless you set the focus to a control
}

这个是回调函数,XferCallback,我想在这里面添加简单图像的图像处理操作,是不是直接在这里面添加代码就可以了?

void CGigeCameraDemoDlg::XferCallback(SapXferCallbackInfo *pInfo)
{
CGigeCameraDemoDlg *pDlg= (CGigeCameraDemoDlg *) pInfo->GetContext();
//////////////////////////////////////////
添加函数处理操作
//////////////////////////////////////
// If grabbing in trash buffer, do not display the image, update the
// appropriate number of frames on the status bar instead
if (pInfo->IsTrash())
{
CString str;
str.Format(_T("Frames acquired in trash buffer: %d"), pInfo->GetEventCount());
pDlg->m_statusWnd.SetWindowText(str);
}

// Refresh view
else
{
pDlg->m_View->Show();
}
}
可是那个m_Buffers是怎么传进来的?这个m_Buffers是相机获取发图像数据,存放在m_Buffers里面,demo给的原始的回调函数就是把m_Buffers进行了显示。
...全文
980 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgl7903 2017-07-11
  • 打赏
  • 举报
回复
void CGigeCameraDemoDlg::XferCallback(SapXferCallbackInfo *pInfo) { CGigeCameraDemoDlg *pDlg= (CGigeCameraDemoDlg *) pInfo->GetContext(); //剩下的就可以用类指针来访问 pDlg->XXXXXX
woxiangwoxing 2017-07-11
  • 打赏
  • 举报
回复
引用 3 楼 amicroview 的回复:
这不就是工业相机,Sapera SDK 二次开发吗?刚弄过
请问你是如何解决的,我这边也遇到了这个问题;还有存储的问题,不知你这边咋个解决的,有需要大家可以交流下的,我的QQ2617291433
amicroview 2017-05-12
  • 打赏
  • 举报
回复
这不就是工业相机,Sapera SDK 二次开发吗?刚弄过
wodeshaniu 2017-05-11
  • 打赏
  • 举报
回复
请问楼主,您最后是怎么解决的,我现在遇到相同的问题,我的QQ号是179141696,期待您的添加!
用户 昵称 2016-08-08
  • 打赏
  • 举报
回复
什么东西都可以用全局变量嘛,用一个全局变量指向m_Buffers,在回调函数内指令使用全局变量就行了。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧