项目场景

Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。

Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可扩展性等特点。

Baumer工业相机堡盟相机中HDR功能是一种开启后会连拍三张照片,分别对应欠曝光、正常曝光和过度曝光,然后把这三张图片合到一块并且突出每张照片最好的部分从而生成一张高动态范围图像的模式。


技术背景

HDR,High-Dynamic Range,也就是高动态范围,用于对象的最明亮和最暗部分相差特别大的时候。HDR是高动态范围的缩写,该功能在工业相机中用于捕捉比传统成像技术更广泛的亮度和明度的图像。

一般情况下,HDR开启后会连拍三张照片,分别对应欠曝光、正常曝光和过度曝光,然后把这三张图片合到一块并且突出每张照片最好的部分从而生成一张精妙绝伦的照片。

这就是为什么当打开HDR模式时,相机会花费较长时间拍照。实际上它是拍摄了三张照片,而非一张。它的好处在于拍出的图像不会像是透过相机看到的,而更像是人眼直接看到的。总之,HDR能让该亮的亮、让该暗的暗、让亮/暗部的细节更丰满。

具有HDR功能的工业相机使用多次曝光来捕捉具有不同亮度水平的图像,然后将它们合并到一张图像中,以显示场景亮度和对比度的更准确表述。这有助于工业相机在图像的亮部和暗部捕捉到更广泛的细节。

HDR技术在工业应用中已变得越来越重要,因为准确和详细的成像是至关重要的,例如在质量控制、检查和科学研究中。它可以提高图像分析和测量的准确性和可靠性,最终导致更明智的决策


CameraExplorer-使用HDR功能


BGAPI SDK-使用HDR功能

在这里我们展示下C++语言下HDR功能开启的相关代码:

SystemList
Open a System
Get the InterfaceList and fill it Open an Interface
Get the DeviceList and fill it
Open a Device //Device Parameter Setup
pDevice->GetRemoteNode("TriggerMode")->SetString("Off");
pDevice->GetRemoteNode("ExposureTime")->SetDouble(10000.0);
std::cout << " ExposureTime : "  << pDevice->GetRemoteNode("ExposureTime")->GetDouble()            << std::endl //HDR parameter change
std::cout << "HDR parameter change" << std::endl;
pDevice->GetRemoteNode("HDREnable")->SetBool(true);
std::cout << "HDREnable : "  << pDevice->GetRemoteNode("HDREnable")->GetBool()            << std::endl;pDevice->GetRemoteNode("HDRIndex")->SetInt(0);
std::cout << "HDRIndex: "  << pDevice->GetRemoteNode("HDRIndex")->GetInt() << std::endl;
pDevice->GetRemoteNode("HDRExposureRatio")->SetInt(185); //t_Exp_0
std::cout << "HDRExposureRatio: "  << pDevice->GetRemoteNode("HDRExposureRatio")->GetInt()  << std::endl;
std::cout << "HDRExposureRatioPercent : "  << pDevice->GetRemoteNode("HDRExposureRatioPercent")->GetDouble()            << std::endl;
pDevice->GetRemoteNode("HDRPotentialAbs")->SetInt(40); //Pot_0
std::cout << "HDRPotentialAbs : "  << pDevice->GetRemoteNode("HDRPotentialAbs")->GetInt()  << std::endl;

pDevice->GetRemoteNode("HDRIndex")->SetInt(1);
std::cout << "HDRIndex: "  << pDevice->GetRemoteNode("HDRIndex")->GetInt()  << std::endl;
pDevice->GetRemoteNode("HDRExposureRatio")->SetInt(45); //t_Exp_1
std::cout << "HDRExposureRatio: "  << pDevice->GetRemoteNode("HDRExposureRatio")->GetInt()  << std::endl;
std::cout << "HDRExposureRatioPercent: "  << pDevice->GetRemoteNode("HDRExposureRatioPercent")->GetDouble()            << std::endl;
pDevice->GetRemoteNode("HDRPotentialAbs")->SetInt(20); //Pot_1
std::cout << "HDRPotentialAbs: "  << pDevice->GetRemoteNode("HDRPotentialAbs")->GetInt()  << std::endl;

在这里我们展示下C#语言下HDR功能开启的相关代码:

SystemList
Open a System
Get the InterfaceList and fill it Open an Interface
Get the DeviceList and fill it
Open a Device //Device Parameter Setup
mDevice.RemoteNodeList["TriggerMode"].Value = "Off";
mDevice.RemoteNodeList["ExposureTime"].Value = 10000.0;
System.Console.Write("ExposureTime : {0}\n",  (double)mDevice.RemoteNodeList["ExposureTime"].Value); System.Console.Write("\n"); //HDR parameter change
System.Console.Write("HDR parameter change\n");
mDevice.RemoteNodeList["HDREnable"].Value = true;
System.Console.Write("  HDREnable : {0}\n", (bool)mDevice.RemoteNodeList["HDREnable"].Value);//only HXG
mDevice.RemoteNodeList["HDREnableTriggerAutoMode"].Value = false;
System.Console.Write("HDREnableTriggerAutoMode : {0}\n",  (bool)mDevice.RemoteNodeList["HDREnableTriggerAutoMode"].Value); mDevice.RemoteNodeList["HDRIndex"].Value = (long)0;
System.Console.Write("HDRIndex : {0}\n", (long)mDevice.RemoteNodeList["HDRIndex"].Value);
mDevice.RemoteNodeList["HDRExposureRatio"].Value = (long)185; //t_Exp_0 System.Console.Write("HDRExposureRatio : {0}\n", (long)mDevice.RemoteNodeList["HDRExposureRatio"].Value);
System.Console.Write("HDRExposureRatioPercent : {0}\n", (double)mDevice.RemoteNodeList["HDRExposureRatioPercent"].Value);
mDevice.RemoteNodeList["HDRExposureRatio"].Value = (long)40; //Pot_0
System.Console.Write("HDRPotentialAbs : {0}\n", (long)mDevice.RemoteNodeList["HDRPotentialAbs"].Value);

mDevice.RemoteNodeList["HDRIndex"].Value = (long)1;
System.Console.Write("HDRIndex : {0}\n", (long)mDeviceRemoteNodeList["HDRIndex"].Value);
mDevice.RemoteNodeList["HDRExposureRatio"].Value = (long)45; //t_Exp_1 System.Console.Write("HDRExposureRatio : {0}\n", (long)mDevice.RemoteNodeList["HDRExposureRatio"].Value);
System.Console.Write("HDRExposureRatioPercent : {0}\n", (double)mDevice.RemoteNodeList["HDRExposureRatioPercent"].Value);
mDevice.RemoteNodeList["HDRPotentialAbs"].Value = (long)20; //Pot_1
System.Console.Write("HDRPotentialAbs : {0}\n", (long)mDevice.RemoteNodeList["HDRPotentialAbs"].Value);
System.Console.Write("\n");


HDR高动态范围功能的优点

工业相机的HDR(高动态范围)功能提供了几个优势:

1. 提高图像质量:HDR技术使摄像机能够捕捉到高质量的图像,具有更好的色彩准确性和细节,即使在具有挑战性的照明条件下。

2. 更大的对比度:HDR技术增强了图像的对比度范围,产生了更鲜艳和醒目的视觉效果。

3. 减少噪音:HDR相机可以减少或消除图像噪音,从而产生更干净、更清晰的图像。

4. 增加灵活性。HDR功能使相机能够在更广泛的照明条件下拍摄图像,使其更加灵活,能够适应不同的环境。

5. 加强自动化。随着图像质量的提高,HDR相机可以为自动化质量控制和检查过程提供更可靠和准确的数据。


HDR高动态范围功能的行业应用

工业相机的HDR(高动态范围)功能用于拍摄高对比度场景的图像。HDR可用于各种场景,包括。

1. 汽车制造。HDR可用于汽车制造业,捕捉具有不同反射率和亮度水平的各种零部件的图像。

2. 检查和质量控制。在工业环境中,HDR可以用来捕捉具有不同对比度和亮度的产品和部件的图像,以进行质量控制。

3. 监视。HDR可用于监控摄像机,在高对比度的情况下捕捉图像,如明亮的阳光或昏暗的区域。

4. 医疗成像。HDR可用于医学成像,以捕捉具有不同反射率和亮度水平的器官的图像。

5. 农业。HDR可用于农业成像,捕捉具有不同反射率和亮度的农作物和植被的图像。

总的来说,工业相机的HDR功能可以在任何需要高对比度成像的场景中发挥作用。

Baumer工业相机堡盟相机如何使用HDR高动态范围功能( HDR功能的优点和行业典型应用)(C++)(C#)相关推荐

  1. Baumer工业相机堡盟相机如何使用自动曝光功能(自动曝光优点和行业应用)(C++)

    项目场景 Baumer工业相机堡盟相机是一种高性能.高质量的工业相机,可用于各种应用场景,如物体检测.计数和识别.运动分析和图像处理. Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分 ...

  2. Baumer工业相机堡盟相机使用CameraExplorer软件进行相机参数保存与 UserSet参数设置

    项目场景: Baumer工业相机堡盟相机是一种高性能.高质量的工业相机,可用于各种应用场景,如物体检测.计数和识别.运动分析和图像处理. Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高 ...

  3. Baumer工业相机堡盟相机如何使用Binning像素合并功能( Binning像素合并功能的优点和行业应用)(C++)(C#)

    项目场景 Baumer工业相机堡盟相机是一种高性能.高质量的工业相机,可用于各种应用场景,如物体检测.计数和识别.运动分析和图像处理. Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分 ...

  4. Baumer工业相机堡盟相机如何使用CameraExplorer软件查看相机图像相关参数如Binning像素合并、ROI图像剪切、PixelFormat像素格式功能等

    项目场景 Baumer工业相机堡盟相机是一种高性能.高质量的工业相机,可用于各种应用场景,如物体检测.计数和识别.运动分析和图像处理. Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分 ...

  5. Baumer工业相机堡盟相机如何通过BGAPI SDK联合OpenCVSharp进行图像简单拼接并显示固定数量保存和持续保存(C#)

    Baumer工业相机堡盟相机如何通过BGAPI SDK联合OpenCVSharp进行图像简单拼接并显示固定数量保存和持续保存(C#) Baumer工业相机 Baumer工业相机SDK联合OpenCVS ...

  6. Baumer工业相机堡盟相机如何进行固件升级

    项目场景 Baumer工业相机堡盟相机是一种高性能.高质量的工业相机,可用于各种应用场景,如物体检测.计数和识别.运动分析和图像处理. Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分 ...

  7. Baumer工业相机堡盟相机如何使用JPEG图像压缩功能(LXT.JP系列相机图像压缩功能的使用和优点以及行业应用)(C#)

    项目场景 Baumer工业相机堡盟相机是一种高性能.高质量的工业相机,可用于各种应用场景,如物体检测.计数和识别.运动分析和图像处理. Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分 ...

  8. Baumer工业相机堡盟相机在BGAPI SDK中如何实现Bitmap的复制克隆(C#)

    项目场景 Baumer工业相机堡盟相机是一种高性能.高质量的工业相机,可用于各种应用场景,如物体检测.计数和识别.运动分析和图像处理. Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分 ...

  9. Baumer工业相机堡盟相机不满帧如何使用CameraExplorer设置相机参数让它的帧率达到满帧

    项目场景 Baumer工业相机堡盟相机是一种高性能.高质量的工业相机,可用于各种应用场景,如物体检测.计数和识别.运动分析和图像处理. Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分 ...

最新文章

  1. 如何使用 OpenStack CLI - 每天5分钟玩转 OpenStack(22)
  2. Android实例-手机震动(XE8+小米2)
  3. SQL重复记录查询(转载)
  4. swagger配置分组
  5. SAP C4C Opportunity和SAP ERP Sales流程的集成
  6. 备忘录怎么用红笔标注_错题本的正确打开方法,你用对了吗?
  7. html 图片墙效果,基于html5实现的图片墙效果
  8. 使用dva脚手架(dva-cli)快速构建React项目
  9. linux yum源码安装mysql_linux下通过源码包安装mysql,以及yum安装
  10. java虚拟机文件_JAVA虚拟机已经安装,但不知道在哪儿编译和运行程序。
  11. iOS/Android·全球
  12. 在uniapp中配置并colorui及阿里图标
  13. 微软知识库kb是什么?如何搜索Microsoftwindowsknowledgebase
  14. 致CSDN读者的一些话:感恩这十年的陪伴,不负遇见,短暂消失
  15. html 正方形字符,HTML常用标签以及特殊符号
  16. 郑州大学计算机新媒体专业介绍,专业介绍:网络与新媒体专业
  17. Windows上那些值得推荐的良心软件-整理
  18. 中国石油大学-《大学英语二》第二阶段在线作业
  19. 基于AGS JS开发自定义贴图图层
  20. 配置并启动MSDTC

热门文章

  1. python获取微信公共平台消息列表和用户头像
  2. DIPPER,玩转加密世界的的未来法则
  3. java-php-python-ssm搬家预约系统计算机毕业设计
  4. 抖音App拍摄和播放功能。
  5. 数据库存储ATM机,开户、查询等信息
  6. 面试题:你能写一个Vue的双向数据绑定吗?
  7. 三星s9更新android,三星为S9系列用户发布稳定版Android 9系统更新
  8. WIN10程序已经打开并且在运行,但是窗口看不到
  9. Java线程中sleep()、wait()和notify()、suspend()和resume()、yield()、join()、interupt()的用法和区别
  10. vue表单验证rules以及validator验证器的使用