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. 阅读:ECMAScript 6 入门(3)

    参考 ECMAScript 6 入门 ES6新特性概览 ES6 全套教程 ECMAScript6 (原著:阮一峰) JavaScript 教程 重新介绍 JavaScript(JS 教程) 字符串的扩 ...

  2. Leetcode 137 Single Number II 仅出现一次的数字

    原题地址https://leetcode.com/problems/single-number-ii/ 题目描述Given an array of integers, every element ap ...

  3. Python复习笔记(八)迭代器和生成器和协程

    1. 迭代器 1.1 可迭代对象 判断xxx_obj是否可以迭代 在第1步成立的前提下,调用 iter 函数得到 xxx_obj 对象的 __iter__ 方法的返回值 __iter__ 方法的返回值 ...

  4. Hadoop — HDFS的概念、原理及基本操作

    1. HDFS的基本概念和特性 设计思想——分而治之:将大文件.大批量文件分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析.在大数据系统中作用:为各类分布式运算框架(如:map ...

  5. <HTML深入浅出> 读书笔记

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  6. Kettle系列: kettle标准化trans模板

    =============================主控trans + sub trans 模式=============================针对一个具体的处理任务(比如增量加载一个 ...

  7. spring注解第04课 @Import

    1.beans package com.atguigu.bean; public class Blue { public Blue(){ System.out.println("blue.. ...

  8. Js调用asp.net后台代码

    方法一:         1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2.在前台写一个js函数,内容为document.getElementById("b ...

  9. python基础 range()与np.arange()

    range()返回的是range object,而np.nrange()返回的是numpy.ndarray() range尽可用于迭代,而np.nrange作用远不止于此,它是一个序列,可被当做向量使 ...

  10. Docker(三)Docker是如何工作的

    摘自 https://mp.weixin.qq.com/s/SsXIuDqeze_et8vWQ8fr3g 一.Docker Client 也称为Docker客户端.其实就是Docker提供命令行界面工 ...