1、定义成员变量

SapAcqDevice     *m_pAcqDevice;
SapBufferWithTrash  *m_pBuffers;
SapTransfer         *m_pAcqDeviceToBuf;
BayerEncode m_bayer_encode;
static void NanoXferCallback(SapXferCallbackInfo *pInfo);

2、Oninitidialog中设置参数以及连接

//相机连接
m_pAcqDevice = new SapAcqDevice(SapLocation(1,0), FALSE);
m_pBuffers  = new SapBufferWithTrash(10,m_pAcqDevice);
m_pAcqDeviceToBuf = new SapAcqDeviceToBuf(m_pAcqDevice,m_pBuffers,NanoXferCallback, this);BOOL b=m_pAcqDevice->Create();
if(b)InsertListBox("相机连接成功!");
elseInsertListBox("相机连接失败!");m_pAcqDevice->SetFeatureValue("Width",1280);
m_pAcqDevice->SetFeatureValue("Height",1024);b=m_pBuffers->Create();
b=m_pAcqDeviceToBuf->Create();m_pAcqDevice->SetFeatureValue("TriggerMode",0);
b = m_pAcqDevice->SetFeatureValue("ExposureTime",(double)200);
if(b)InsertListBox("曝光时间设置成功!");
elseInsertListBox("曝光时间设置失败!");m_pAcqDevice->SetFeatureValue("Gain", (double)3);
b = m_pAcqDevice->SetFeatureValue("AcquisitionFrameRate", (double)theApp.m_iHZ);
if(b)InsertListBox("帧率设置成功!");
elseInsertListBox("帧率设置失败!");

3、回调函数中保存图片

void CTrainNumberIdentificationDlg::NanoXferCallback(
SapXferCallbackInfo *pInfo)
{
CTrainNumberIdentificationDlg *p =
(CTrainNumberIdentificationDlg * )pInfo->GetContext();
BYTE *pData = NULL;
CString strCurImageName = _T("");
if(theApp.m_strDeviceName == “1”)
strCurImageName.Format("%s%d.jpg",theApp.m_strPicPath,theApp.m_nPicorder);
else
strCurImageName.Format("%s2-%d.jpg",theApp.m_strPicPath,theApp.m_nPicorder);

if (!pInfo->IsTrash())
{p->m_pBuffers->GetAddress((void **)&pData);BYTE *pDataJPGIn = new BYTE[4000000];{//m_image_compress.PushImageData(pData,m_pBuffers->GetWidth(),m_pBuffers->GetHeight(),//                                     ((m_pBuffers->GetPixelDepth())/8),strCurImageName);p->m_bayer_encode.gp_bayer_decode(pData,1280,1024,pDataJPGIn,BAYER_TILE_RGGB);JSAMPROW row_pointer[1] = {NULL};           int row_stride = 0;    struct jpeg_compress_struct jcs;struct jpeg_error_mgr jem;FILE *pSaveFile = NULL;fopen_s(&pSaveFile,strCurImageName,"wb");jcs.err = jpeg_std_error(&jem);jpeg_create_compress(&jcs);jpeg_stdio_dest(&jcs, pSaveFile);jcs.image_width = 1280;           jcs.image_height = 1024;jcs.input_components = 3;          //if (1 == pImageInfo->m_nChannel)//{//   jcs.in_color_space = JCS_GRAYSCALE; //}//else{jcs.in_color_space = JCS_RGB;}jpeg_set_defaults(&jcs);  jpeg_set_quality(&jcs,80,true);jpeg_start_compress(&jcs,TRUE);row_stride = jcs.image_width*(3);    //if(MirrorImage(pImageInfo,pImageInfo->m_nFlip)){while (jcs.next_scanline < jcs.image_height) {row_pointer[0] = &(pDataJPGIn)[jcs.next_scanline*row_stride];jpeg_write_scanlines(&jcs,row_pointer,1);}}jpeg_finish_compress(&jcs);jpeg_destroy_compress(&jcs);fclose(pSaveFile);pSaveFile = NULL;
}
if(pDataJPGIn)delete pDataJPGIn;
}
else
{//pCamCtrl->m_camera_log.LogErr(_T("Camera UserID = %s,出现丢帧:%d\n"),//                           pCamCtrl->m_strUserID,pInfo->GetEventCount());
}//入队列
EnterCriticalSection(&(theApp.m_CS));
theApp.g_grab_image_queue.push(strCurImageName);
LeaveCriticalSection(&(theApp.m_CS));
strCurImageName+="\n";
g_logQueue.Log(strCurImageName);
theApp.m_nPicorder++;

}

Dalsa 相机参数设置以及采集相关推荐

  1. 海康工业相机SDK + OpenCV实例(4):相机参数设置详解

    海康工业相机SDK + OpenCV实例(4): 相机参数设置详解 文章目录 海康工业相机SDK + OpenCV实例(4): 相机参数设置详解 前言 一.相机参数基本接口 二.自动曝光时间调整亮度 ...

  2. ORB-SLAM源码中的相机参数设置

    在github看到很多关于相机参数设置的的讨论, 这一篇就是对看到的内容做一个整理和总结, 一. 易混淆概念 1.Camera.bf 根据文档的注释,这个参数是指的:基线距离(单位:米) * fx(单 ...

  3. ContextCapture系列教程(四):新建工程、添加照片、相机参数设置、选择坐标系统

    文章目录 一.新建工程 二.导入航片 三.相机参数设置 四.导入POS数据 五.选择坐标系统 一.新建工程 打开ContextCapture Center Master软件,点击[新工程]创建工程,如 ...

  4. DALSA相机参数文件配置

    之前遇到DALSA相机断电后,再开机还要通过配置软件重新设置一遍参数,太麻烦了,下面就是让相机参数随着工程一起加载. 拷贝工程目录 将DALSA相机默认配置文件.ccf拷贝到创建的MFC工程目录下,如 ...

  5. directshow c++ 设置 曝光_DirectShow 接口访问相机参数设置方法

    本文档适用于所有适用 directshow 接口访问相机的程序,例如 MATLAB和 Labview 的 ImaqDx 接口.Halcon 的 Directshow 接口等. MATLAB 中,可以通 ...

  6. [视觉实战案例]Qt调用Basler网口工业相机SDK实现采图和相机参数设置

    文章目录 1.采图UI显示 2.硬件连接和IP配置 2.1 外触发硬件接线 2.2 IP配置 3.代码实现 4.源码下载 1.采图UI显示 2.硬件连接和IP配置 2.1 外触发硬件接线 根据相机接线 ...

  7. MVS海康相机参数设置完整版

    常用属性 基本属性 使能采集帧率控制:开启该参数可以采集帧率的数值大小设置相机的实时帧率.说明:若采集帧率数值高于理论帧率数值,则无效,相机仍以理论帧率数值进行图像采集. 采集帧率:需要设置相机帧率时 ...

  8. 相机参数设置程序_自定义拍摄模式怎么设置?教你学会相机设置。

    相机的模式转盘上,除了基本的全自动.程序自动.光圈/快门优先.手动.B门等拍摄模式,还有自定义拍摄模式,对于拍摄有哪些作用?该如何设置自定义拍摄模式呢? 一.自定义拍摄模式的作用 自定义拍摄模式,可以 ...

  9. 【CC精品教程】任务一:CC新建工程、添加照片、相机参数设置、选择坐标系统

    <无人机航空摄影测量精品教程>合集目录(Pix4d.CC.EPS.PhotoScan.Inpho) 同Pix4d一样,CC(Context Capture),也称Smart 3D,也是无人 ...

最新文章

  1. c语言将字母存入字符串,C语言把资料读入字符串以及将字符串写入文件
  2. Acwing第 23 场周赛【完结】
  3. ELK的What files do you want me to watch? Exiting: no modules or inputs enabled and configuration
  4. XP或Win7系统下grub4dos安装双系统ubuntu(32或64)
  5. Android笔记(八) Android中的布局——相对布局
  6. Sql server 事务的两种用法
  7. 20191215周学习总结
  8. Flutter GetX 状态管理 响应式编程(三)
  9. Spring Cloud实战Zuul统一异常处理
  10. 4.Unix工作环境
  11. Ajax请求返回200 OK,但是会引发错误事件而不是成功
  12. webpack 打包第三方库_webpack提取第三方库的正确姿势
  13. java填空题 在非静态成员方法中_Java编程基础知识点汇总习题集--答案word版本
  14. 2020年蓝桥杯省赛 C++ B组
  15. 闪字在线制作php源码,闪光字图片制作 在线制作图片加闪光字
  16. 图灵大会演讲 | 百度首席科学家吴华:NLP技术的演变与发展
  17. 逻辑谬误_跟上的谬误
  18. 了解torch.nn.DataParallel
  19. 10041---socket与http的区别
  20. snappy格式解析

热门文章

  1. 智能传感器的应用领域
  2. 盘点那些令人惊艳的黑科技
  3. 最新版本 PHP (windows)开发环境配置
  4. HDMI转USB--------HDMI采集卡
  5. linux6.5映射samba共享目录,CentOS 6.5 Samba服务器的安装与配置 与Windows共享文件
  6. C#使用windows自带的性能监视器显示
  7. 如何系统的学习linux 系统学习Linux的十一点建议
  8. Linux 下的 ActiveMQ C++ 环境搭建与测试
  9. det曲线_一文说透机器学习的主流评价指标
  10. dns-服务器--转发设置-域控dns配置