DALSA gige相机有两种方式可以获取到相机相关参数,一个是读取相机里面的xml文件;另外一个是读取相对应的寄存器的值。

对于修改寄存器的值,有两个相应的函数:

1)GevSetFeatureValue

函数原型为:

GEV_STATUS GevSetFeatureValue(GEV_CAMEAR_HANDLE handle, const char *feature_name, int value_size, void *value);

2)GevSetFeatureValueAsString

函数原型为:

GEV_STATUS GevSetFeatureValueAsString(GEV_CAMERA_HANDLE handle, const char *feature_name,  char *value_string);

两者之间端区别在于,GevSetFeatureValue 可以配置任意类型(支持的类型)的值,并且需要手动填写类型。而GevSetFeatureValueAsString 是固定为string类型,只需要填写相对应端值即可。

还有一个更重要的区别是,GevSetFeatureValue能够配置的项在文件 cameraregdata.c 中有对应,许多项配置不了,受制于结构体

typedef struct
{
    char                featureName[FEATURE_NAME_MAX_SIZE]; // String name of feature for this register.
    UINT32              address;         // Address for accessing feature in camera (NOREF_ADDR if not in camera).
    RegAccess           accessMode;     // RO, WO, RW access allowed.
    BOOL32              available;      // True if feature is available (in camera or not) - False is not available.
    RegType             type;           // String, Float, Integer, Enum, Bit
    UINT32              regSize;        // Size of storage for register (or register set / area).
    UINT32              regStride;    // Increment between register items accessed via selector
    UINT32              minSelector;    // Minimum value for selector (corresponds to base address).
    UINT32              maxSelector;    // Maximum value for selector.
    GENIREG_VALUE       value;    // Current value (storage for features not backed by a register).
    GENIREG_VALUE       minValue;    // Minimum allowable value.
    GENIREG_VALUE       maxValue;    // Maximum allowable value.
    UINT32              readMask;       // AND Mask for read (integers only)
    UINT32              writeMask;      // AND Mask for write (integers only)
    PGENICAM_FEATURE    feature;         // Pointer to feature in feature table (future).
    char                selectorName[FEATURE_NAME_MAX_SIZE]; // String name of selector for feature.
    char                indexName[FEATURE_NAME_MAX_SIZE]; // String name of index (second selector)for feature.
} GEV_REGISTER, *PGEV_REGISTER;

中accessMode 和 available 等属性。

而 GevSetFeatureValueAsString 却能够配置 featureName存在的项,能力远远大于 GevSetFeatureValue 。

DALSA相机开发--修改参数的更多相关文章

  1. Android相机开发那些坑

    版权声明:本文由王梓原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/168 来源:腾云阁 https://www.qclou ...

  2. android之相机开发

     http://blog.csdn.net/jason0539/article/details/10125017 android之相机开发 分类: android 基础知识2013-08-20 22: ...

  3. 2021升级版微服务教程7-OpenFeign实战开发和参数调优

    2021升级版SpringCloud教程从入门到实战精通「H版&alibaba&链路追踪&日志&事务&锁」 教程全目录「含视频」:https://gitee.c ...

  4. fiddler中断request,修改参数问题

    fiddler正在学习阶段,遇到了一个问题,就是bpu url后,不会修改参数,今天实验了几次,总算成功了 下面写一下步骤: 1.先打开fiddler 2.打开网站,如百度,在文本框输入1,记住!不要 ...

  5. c语言: 修改参数的地址,及注意事项

    如果需要在函数中修改参数的地址,首先参数肯定要是指针类型,同时传递的参数不能直接使用数组变量,至少需要先转换一下. 比如: char str[] = "123"; 不能直接传 ab ...

  6. SpringBoot(十):读取application.yml下配置参数信息,java -jar启动时项目修改参数

    读取application.yml下配置参数信息 在application.yml文件内容 my: remote-address: 192.168.1.1 yarn: weburl: http://1 ...

  7. [Oracle][Standby][PDB]在PDB中修改参数,设置范围为 SPFILE,报 ORA-65099错误

    [Oracle][Standby][PDB]在PDB中修改参数,设置范围为 SPFILE,报 ORA-65099错误 在Data Gaurd 的 Standby (或 CDB 是 Read Only ...

  8. RAC环境修改参数生效测试

    本篇文档--目的:实验测试在RAC环境下,修改数据库参数与单实例相比,需要注意的地方 --举例说明,在实际生产环境下,以下参数很可能会需要修改 --在安装数据库完成后,很可能没有标准化,初始化文档,没 ...

  9. mysql不重启修改参数变量

    分享下mysql不重启的情况下修改参数变量的方法. 通常来说,更新mysql配置my.cnf需要重启mysql才能生效,但是有些时候mysql在线上,不一定允许你重启,这时候应该怎么办呢? 例子: m ...

随机推荐

  1. Django之组件--auth组件

    目录 Auth模块是什么 auth模块常用方法 扩展默认的auth_user表 1 Django自带的用户认证模块,可以快速的实现登录,注销,修改密码... 2 扩展auth表,需要继承Abstrac ...

  2. BZOJ 4318 OSU!(概率DP)

    题意 osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的01串.在 ...

  3. uva11916 Emoogle Grid (BSGS)

    https://uva.onlinejudge.org/external/119/p11916.pdf 令m表示不能染色的格子的最大行号 设>m行时可以染k种颜色的格子数有ck个,恰好有m行时可 ...

  4. Docker 从入门到放弃(三)镜像使用

    当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载. 下面我们来学习: 1.管理和使用本地 Docker ...

  5. JDK源码之数组

    序言 <1>栈内存和堆内存当一个方法执行时,每个方法都会建立自己的内存栈,在这方法内定义的变量将会逐个放入这块栈内存里,随着方法的执行结束,这个方法的内存栈也将自然销毁.所有在方法中定义的 ...

  6. IDEA导入JUnit4

    Step 1. IDEA最上面一栏的菜单栏中,选File->Project Structure(从上往下第11个),弹出窗口左边有一个列表,选Module. Step 2. 右侧有一个带3个标签 ...

  7. js伪数组转数组

    方法1: 遍历伪数组,在把值push进一个空数组中 方法2: 使用数组的slice方法,它返回的是数组,使用call或apply指向伪数组 var arr = [].slice.call(argume ...

  8. TensorFlow从入门到理解(四):你的第一个循环神经网络RNN(分类例子)

    运行代码: import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data # set rando ...

  9. centos 6.8下载地址

    centos6.8校验码查询网站:https://wiki.centos.org/zh-tw/Manuals/ReleaseNotes/CentOS6.8 CentOS 6.8 64位DVD 种子下载 ...

  10. shiro 和 跨域过滤器冲突

    在web.xml 中 cros要写在shiro 的配置前面,如下,不然会先过shiro 过滤器就产生跨域问题, 参考web.xml 的过滤器加载顺序 <!-- 跨域请求 --> <f ...