Dalsa 相机参数设置以及采集
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 相机参数设置以及采集相关推荐
- 海康工业相机SDK + OpenCV实例(4):相机参数设置详解
海康工业相机SDK + OpenCV实例(4): 相机参数设置详解 文章目录 海康工业相机SDK + OpenCV实例(4): 相机参数设置详解 前言 一.相机参数基本接口 二.自动曝光时间调整亮度 ...
- ORB-SLAM源码中的相机参数设置
在github看到很多关于相机参数设置的的讨论, 这一篇就是对看到的内容做一个整理和总结, 一. 易混淆概念 1.Camera.bf 根据文档的注释,这个参数是指的:基线距离(单位:米) * fx(单 ...
- ContextCapture系列教程(四):新建工程、添加照片、相机参数设置、选择坐标系统
文章目录 一.新建工程 二.导入航片 三.相机参数设置 四.导入POS数据 五.选择坐标系统 一.新建工程 打开ContextCapture Center Master软件,点击[新工程]创建工程,如 ...
- DALSA相机参数文件配置
之前遇到DALSA相机断电后,再开机还要通过配置软件重新设置一遍参数,太麻烦了,下面就是让相机参数随着工程一起加载. 拷贝工程目录 将DALSA相机默认配置文件.ccf拷贝到创建的MFC工程目录下,如 ...
- directshow c++ 设置 曝光_DirectShow 接口访问相机参数设置方法
本文档适用于所有适用 directshow 接口访问相机的程序,例如 MATLAB和 Labview 的 ImaqDx 接口.Halcon 的 Directshow 接口等. MATLAB 中,可以通 ...
- [视觉实战案例]Qt调用Basler网口工业相机SDK实现采图和相机参数设置
文章目录 1.采图UI显示 2.硬件连接和IP配置 2.1 外触发硬件接线 2.2 IP配置 3.代码实现 4.源码下载 1.采图UI显示 2.硬件连接和IP配置 2.1 外触发硬件接线 根据相机接线 ...
- MVS海康相机参数设置完整版
常用属性 基本属性 使能采集帧率控制:开启该参数可以采集帧率的数值大小设置相机的实时帧率.说明:若采集帧率数值高于理论帧率数值,则无效,相机仍以理论帧率数值进行图像采集. 采集帧率:需要设置相机帧率时 ...
- 相机参数设置程序_自定义拍摄模式怎么设置?教你学会相机设置。
相机的模式转盘上,除了基本的全自动.程序自动.光圈/快门优先.手动.B门等拍摄模式,还有自定义拍摄模式,对于拍摄有哪些作用?该如何设置自定义拍摄模式呢? 一.自定义拍摄模式的作用 自定义拍摄模式,可以 ...
- 【CC精品教程】任务一:CC新建工程、添加照片、相机参数设置、选择坐标系统
<无人机航空摄影测量精品教程>合集目录(Pix4d.CC.EPS.PhotoScan.Inpho) 同Pix4d一样,CC(Context Capture),也称Smart 3D,也是无人 ...
最新文章
- c语言将字母存入字符串,C语言把资料读入字符串以及将字符串写入文件
- Acwing第 23 场周赛【完结】
- ELK的What files do you want me to watch? Exiting: no modules or inputs enabled and configuration
- XP或Win7系统下grub4dos安装双系统ubuntu(32或64)
- Android笔记(八) Android中的布局——相对布局
- Sql server 事务的两种用法
- 20191215周学习总结
- Flutter GetX 状态管理 响应式编程(三)
- Spring Cloud实战Zuul统一异常处理
- 4.Unix工作环境
- Ajax请求返回200 OK,但是会引发错误事件而不是成功
- webpack 打包第三方库_webpack提取第三方库的正确姿势
- java填空题 在非静态成员方法中_Java编程基础知识点汇总习题集--答案word版本
- 2020年蓝桥杯省赛 C++ B组
- 闪字在线制作php源码,闪光字图片制作 在线制作图片加闪光字
- 图灵大会演讲 | 百度首席科学家吴华:NLP技术的演变与发展
- 逻辑谬误_跟上的谬误
- 了解torch.nn.DataParallel
- 10041---socket与http的区别
- snappy格式解析
热门文章
- 智能传感器的应用领域
- 盘点那些令人惊艳的黑科技
- 最新版本 PHP (windows)开发环境配置
- HDMI转USB--------HDMI采集卡
- linux6.5映射samba共享目录,CentOS 6.5 Samba服务器的安装与配置 与Windows共享文件
- C#使用windows自带的性能监视器显示
- 如何系统的学习linux 系统学习Linux的十一点建议
- Linux 下的 ActiveMQ C++ 环境搭建与测试
- det曲线_一文说透机器学习的主流评价指标
- dns-服务器--转发设置-域控dns配置