当前位置: 首页 > article >正文

HalconDotNet中的图像视频采集

文章目录

  • 1. 单相机视频图像采集
  • 2. 多相机视频图像采集
  • 3. 设置相机曝光时间
  • 4. 实时图像显示
  • 5. 图像采集与保存


1. 单相机视频图像采集

  使用HalconDotNet进行单相机视频图像采集的基本步骤包括初始化相机、设置采集参数、开始采集、处理图像以及停止采集。

using HalconDotNet;

public void SingleCameraCapture()
{
    HFramegrabber framegrabber = new HFramegrabber("GigEVision", 0, 0, 0, 0, 0, 0, "default", -1, "default", -1, "false", "default", "CameraName", 0, -1);
    HImage image = framegrabber.GrabImage();
    image.WriteImage("bmp", 0, "captured_image");
    framegrabber.CloseFramegrabber();
}

2. 多相机视频图像采集

  多相机视频图像采集需要为每个相机创建独立的帧抓取器,并分别进行图像采集和处理。

using HalconDotNet;

public void MultiCameraCapture()
{
    HFramegrabber framegrabber1 = new HFramegrabber("GigEVision", 0, 0, 0, 0, 0, 0, "default", -1, "default", -1, "false", "default", "Camera1", 0, -1);
    HFramegrabber framegrabber2 = new HFramegrabber("GigEVision", 0, 0, 0, 0, 0, 0, "default", -1, "default", -1, "false", "default", "Camera2", 0, -1);

    HImage image1 = framegrabber1.GrabImage();
    HImage image2 = framegrabber2.GrabImage();

    image1.WriteImage("bmp", 0, "captured_image1");
    image2.WriteImage("bmp", 0, "captured_image2");

    framegrabber1.CloseFramegrabber();
    framegrabber2.CloseFramegrabber();
}

3. 设置相机曝光时间

  通过设置相机的曝光时间,可以控制图像的亮度和对比度。

using HalconDotNet;

public void SetExposureTime()
{
    HFramegrabber framegrabber = new HFramegrabber("GigEVision", 0, 0, 0, 0, 0, 0, "default", -1, "default", -1, "false", "default", "CameraName", 0, -1);
    framegrabber.SetFramegrabberParam("ExposureTime", 5000); // 设置曝光时间为5000微秒
    HImage image = framegrabber.GrabImage();
    image.WriteImage("bmp", 0, "captured_image");
    framegrabber.CloseFramegrabber();
}

4. 实时图像显示

  在采集图像的同时,实时显示图像可以用于监控和调试。

using HalconDotNet;

public void RealTimeDisplay()
{
    HFramegrabber framegrabber = new HFramegrabber("GigEVision", 0, 0, 0, 0, 0, 0, "default", -1, "default", -1, "false", "default", "CameraName", 0, -1);
    HWindow window = new HWindow(0, 0, 512, 512, 0, "visible", "");

    while (true)
    {
        HImage image = framegrabber.GrabImage();
        window.DispImage(image);
        System.Threading.Thread.Sleep(100); // 控制显示频率
    }

    framegrabber.CloseFramegrabber();
}

5. 图像采集与保存

  采集图像并保存到指定路径,适用于需要长期存储图像数据的场景。

using HalconDotNet;

public void CaptureAndSave()
{
    HFramegrabber framegrabber = new HFramegrabber("GigEVision", 0, 0, 0, 0, 0, 0, "default", -1, "default", -1, "false", "default", "CameraName", 0, -1);
    HImage image = framegrabber.GrabImage();
    string savePath = "C:\\Images\\captured_image.bmp";
    image.WriteImage("bmp", 0, savePath);
    framegrabber.CloseFramegrabber();
}

  这些示例代码展示了如何使用HalconDotNet进行单相机和多相机的视频图像采集,并涵盖了设置曝光时间、实时显示图像以及图像保存等常见操作。


http://www.kler.cn/a/299132.html

相关文章:

  • JS设计模式之中介者模式
  • 使用Python从阿里云物联网平台获取STM32温度数据
  • 功能篇:JAVA8实现数据去重
  • LWIP协议:三次握手和四次挥手、TCP/IP模型
  • GIT安装过程
  • ubuntu16.04ros-用海龟机器人仿真循线系统
  • 社交媒体的未来:Facebook如何通过AI技术引领潮流
  • 2024/9/10黑马头条跟学笔记(六)
  • 利用AI大语言模型和Langchain开发智能车算法训练知识库(上篇)
  • 计算机毕业设计PySpark+Django考研分数线预测 考研院校推荐系统 考研推荐系统 考研爬虫 考研大数据 Hadoop 大数据毕设 机器学习 深度学习
  • 前端用html写excel文件直接打开
  • HTTP隧道代理:互联网冲浪的隐形翅膀
  • 基于arcpro3.0.2版的使用深度学习目标提取之建筑房屋
  • BZOJ3688. 折线统计(dp+ds)
  • 全国计算机二级考试C语言篇3——选择题
  • FANUC 数控 A06B-6058-H227 伺服放大器
  • AlphaNovel的身份验证失败了..........
  • 第 5 篇 Chart 文件结构详解
  • Flutter动画—雷达扫描效果
  • HarmonyOS 是如何实现一次开发多端部署 -- HarmonyOS自学1
  • Java集合——Queue详解
  • ActiveMQ 的网络连接及消息回流机制
  • Redis:处理缓存穿透的两种方法
  • web项目如何部署到服务器上并运行呢?——使用Tomcat插件
  • 数学建模笔记—— 蒙特卡罗法
  • 剖析Cookie的工作原理及其安全风险