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. cmd命令查看当前IIS运行的网站iisapp appcmd

    xp,2003中用的命令是:iisapp -a 2007,2008,2012系统中: cmd命令行进入%windir%\system32\inetsrv\目录下 运行appcmd.exe list w ...

  2. .Net版微信支付

    一. 案例介绍 这里模拟一个实际业务场景,进行介绍微信支付,业务功能包括:登录.注册.充值.查看充值记录. 页面图:       二. 概要设计 1.数据库设计 这里数据库包括两张表:用户表和订单表. ...

  3. 细说java平台日志组件

    1. java.util.logging JDK自带日志组件,使用方式简单,不需要依赖第三方日志组件.支持将日志打印到控制台,文件,甚至可以将日志通过网络打印到指定主机.相对于第三方独立日志框架来说, ...

  4. docker 系列 - Docker CheatSheet | Docker 配置与实践清单 (转载)

    本文转载自 (https://segmentfault.com/a/1190000016447161), 感谢作者.

  5. kudu系列: Java API使用和效率测试

    Kudu+Impala很适合数据分析, 但直接使用Insert values语句往Kudu表插入数据, 效率实在不好, 测试下来insert的速度仅为80笔/秒. 原因也是显然的, Kudu本身写入效 ...

  6. 比较好用的Copy代码到博客VS扩展工具

    这个工具叫做TrimCopy,可以避免拷贝出来的代码带空格,影响布局.

  7. 1.关于Java

    一.Java简介 1.java语言的特性 java语言的重要特性:跨平台: 一次编译,到处运行. 2.java的环境搭建: 1.JRE: java运行环境. JRE = java 虚拟机 + 核心类库 ...

  8. Docker(一)基本概念

    摘自 https://mp.weixin.qq.com/s/mcIMBMNMrFD9OE56iujhXQ 一.容器和虚拟机的比较 1.虚拟机 对于以前熟悉的虚拟机,我们需要模拟操作系统和硬件.虚拟机一 ...

  9. php的2种域名转向写法

    第一种 echo '<meta http-equiv="Refresh" content="0;url=' . $url . '">' ; 第二种 ...

  10. ansible学习笔记二

    Ad-Hoc命令: 所谓Ad-Hoc,简而言之是"临时命令",英文中作为形容词有"特别的,临时"的含义.Ad-Hoc只是官方对Ansible命令的一种称谓. 从 ...