利用Halcon18.11联合VS2015实时打开笔记本谁摄像头。
利用Halcon自带的“hWindowControl1”实时显示

首先建立一个C#的winform界面程序,添加对应的控件。

(与Halcon联合编程时,需要对Halcon的DLL库进行添加引用,如何添加引用在之前博客已有说明。在此不再赘述,接下来简单介绍如何添加 hWindowControl1 控件)

添加 hWindowControl1 控件:

1、在 Form 窗口中 点开工具箱,右键点击工具箱内得任意位置。进入如下图所示界面

2. 点击 浏览。进入Halcon安装目录下的“…\bin\dotnet35”。选择 “halcondotnet.dll” 文件(与添加C#引用的DLL是同一个),进行打开之后确定添加即可。

3.就能够在工具栏中看到如下图所示的图标工具。

在Halcon中的助手中设定实时采集设备为笔记本摄像头,进而生成代码文件

  1. 点击–>助手 ,采集设备选择为 directshow[0] ,从连接中点击实时,使摄像头保持实时采集图片。最后点击生成代码。结果如下图:

    为了便于显示在图像中,添加如下图所示两行代码

2.点击导出,导出C#代码文件


3. 在C#中的界面中添加工具(实时显示图像我们设定在计时器中进行,当然也可以另设一个线程),如下图所示:


4.对各个按钮添加相对应的事件。主要代码块如下:

 private void OpenCam_Click(object sender, EventArgs e) //打开相机并且初始化相机{HOperatorSet.GenEmptyObj(out ho_Image);//Image Acquisition 01: Code generated by Image Acquisition 01hv_AcqHandle.Dispose();HOperatorSet.OpenFramegrabber("DirectShow", 1, 1, 0, 0, 0, 0, "default", 8, "rgb",-1, "false", "default", "[0] ", 0, -1, out hv_AcqHandle);HOperatorSet.GrabImageStart(hv_AcqHandle, -1);}private void ShowCam_Click(object sender, EventArgs e) //进行实时显示相机{timer1.Enabled = true;HOperatorSet.OpenWindow(0, 0, hWindowControl1.Size.Width, hWindowControl1.Size.Height, hWindowControl1.HalconWindow, "visible", "", out hv_WindowHandle);HDevWindowStack.Push(hv_WindowHandle);}     private void timer1_Tick(object sender, EventArgs e) //相机在计时器内实时显示{ho_Image.Dispose();HOperatorSet.GrabImageAsync(out ho_Image, hv_AcqHandle, -1);HOperatorSet.GetImageSize(ho_Image, out hv_Width, out hv_Height);if (HDevWindowStack.IsOpen()){HOperatorSet.SetPart(hv_WindowHandle, 0, 0, hv_Height, hv_Width);}//显示if (HDevWindowStack.IsOpen()){HOperatorSet.DispObj(ho_Image, hv_WindowHandle);//显示处理之前的图片//HOperatorSet.DispObj(ho_GrayImage, HDevWindowStack.GetActive());//显示原图}}private void CloseCam_Click(object sender, EventArgs e)//关闭相机{timer1.Enabled = false;HOperatorSet.CloseFramegrabber(hv_AcqHandle);ho_Image.Dispose();hv_AcqHandle.Dispose();hv_Width.Dispose();hv_Height.Dispose();}

最终显示结果如下图:

Halcon与C#混合编程--打开笔记本摄像头实时采集相关推荐

  1. 『Halcon与C#混合编程』010_相机实时采集并显示(或循环显示)

            1.首先在halcon通过相机助手生成以下代码 * Image Acquisition 01: Code generated by Image Acquisition 01 open_ ...

  2. C#与Halcon混合编程调用笔记本摄像头

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.通过Halcon导出项目 二.在C#中调用Halcon 1.新建WindForm项目 2.添加HWindowCon ...

  3. C#与Halcon联合(8)打开笔记本摄像头DirectShow与读取二维码

    目录 1.环境准备 2.halcon调用笔记本摄像头 3.制作winform程序打开笔记本自带摄像头 a)要添加的库 b)制作的窗体画面 4.使用笔记本摄像头识别二维码 a)halcon代码片段 b) ...

  4. C#联合Halcon打开笔记本摄像头

    ** C#联合Halcon打开笔记本摄像头 环境配置 halcon12+vs2013 添加引用 64位操作系统选择dotnet35目录下的halcondotnet.dll 32位选择dotnet20目 ...

  5. halcon与C#混合编程(转)

    halcon源程序: dev_open_window(0, 0, 512, 512, 'black', WindowHandle) read_image (Image, 'C:/Users/BadGu ...

  6. linux打开笔记本摄像头驱动程序,Linux下利用Opencv打开笔记本摄像头问题

    新建test文件夹,文件夹存在test.cpp和CMakeLists.txttest.cpp#include @H_404_8@ #include #include #include #include ...

  7. Python使用opencv打开笔记本摄像头时遇到的问题及解决办法

    Python使用opencv打开笔记本摄像头时遇到的问题及解决办法 最近在学习python,想用opencv做个人脸检测,打开笔记本摄像头时遇到了问题.摄像头总是闪一下就关闭,并提示一行警告([ WA ...

  8. Linux命令模式下打开摄像头,Linux下利用Opencv打开笔记本摄像头问题

    新建test文件夹,文件夹存在test.cpp和CMakeLists.txttest.cpp#include #include #include #include #include #include ...

  9. Yolov5进阶之一摄像头实时采集识别

    当yolov5 安装成功后,(如果想快速安装可以看之前帖子),第一步是熟悉相应的采集过程,最简单的是图片,然后是视频,然后是实时采集,具体过程只需更改yolov5 master 里的 detect文件 ...

最新文章

  1. 为什么 Linux 系统调用会消耗较多资源
  2. 第一章 Shiro简介——跟我学习springmvc shiro mybatis
  3. 理解进程创建、可执行文件的加载和进程执行进程切换,重点理解分析fork、execve和进程切换
  4. 警惕python中的*重复符(运算符)
  5. Spring Beans 初始化流程分析
  6. 学习Spring Data JPA
  7. OSI七层模型详解-开放系统互联参考模型详解
  8. 视差滚动教程、实现方法、源代码
  9. 独立使用zuul网关分发不同服务的请求、权限控制,非SpringCloud
  10. 《UTF-8与GB2312之间的互换》的改进
  11. Jenkins打卡Day19-Jenkins重启关闭服务
  12. 设置内核的运行环境之隔离的应用程序
  13. 从grub中引导进入windows7的启动管理界面
  14. App后台开发运维和架构实践读书笔记
  15. wps中怎么在奇数页的页眉中设置整本书的标题,而在偶数页中设置该章的标题,同时请问怎样修改页码的字体?
  16. 北斗对时服务器(GPS卫星同步时钟)分析北斗与GPS区别
  17. “强方杯“首届北京高校概率篮球棋邀请赛收枰
  18. unity关于警报灯光与警报声音的参考代码
  19. FileReader 对象实现图片预览
  20. 学习Python的第一天

热门文章

  1. 家园系统服务器,1月13日服务器更新 调整家园系统帮盟系统
  2. No provider available from registry localhost:9090 for service
  3. 大学生c++实训之职工管理系统设计
  4. Linux内存、CPU及磁盘空间测试工具
  5. s7300的db块详细说明_西门子db数据块详解
  6. 金蝶K3案例教程采购管理后台配置
  7. mysql root密码过期了_MYSQL 密码过期解决办法
  8. 21.VIVO: Visual Vocabulary Pre-Training for Novel Object Captioning
  9. android app签名详解
  10. Deep Knowledge Tracking based on Attention Mechanism for Student Performance Prediction