少有人走的路

勇哥的工业自动化技术网站

在C#代码中设置海康相机设置增益Gain出错的问题


这个问题的现象是下面这句话报错,说是参数有问题:

HOperatorSet.SetFramegrabberParam(AcqHandle, "Gain", 2.0);


而在halcon中,连接相机后查阅参数,其中增益参数就叫Gain,这个是绝对没有写错的。

而这句话的设置时机放在了取得相机设备句柄之后。

  HOperatorSet.OpenFramegrabber("HMV3rdParty", 0, 0, 0, 0, 0, 0, "progressive",
                        -1, "default", -1, "false", "default", serialNum, 0, -1, out AcqHandle);
                    
  HOperatorSet.SetFramegrabberParam(AcqHandle, "Gain", 2.0);

因此参数设置时机也是没有错的。

但是仍然有问题,这是为啥呢?


问了一下海康的技术,他说你试试把2.0改为2.0104试试。

结果还真是的。


后来在halcon连接相机后测试了一下,果然是这样的,因为拖动Gain滑块时,有些值是非法的,有些是可以的。

因此,这个问题的结论是:Gain的值不能随便设置,必须是特定的值。


image.png


之前看到这种问题的思路都集中在是不是参数名字拼写错误上面了,但其实对于本例来讲,是参数的值非法。


这个问题推广一下,其它其它的参数可能都存在这种问题。

所以在设置一些数值型参数时,我们都可以用halcon测试一下,看是不是存在有些值不能设置的现象,以避开这种问题。



--------------------- 

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864