Halcon学习之二:摄像头获取图像和相关参数

1、close_all_framegrabbers ( : : : )

关闭所有图像采集设备。

2、close_framegrabber ( : : AcqHandle : )

关闭Handle为AcqHandle的图像采集设备。

3、open_framegrabber ( : : Name, HorizontalResolution,

VerticalResolution, ImageWidth, ImageHeight, StartRow, StartColumn,

Field, BitsPerChannel, ColorSpace, Generic, ExternalTrigger,

CameraType, Device, Port, LineIn : AcqHandle )

打开图像采集设备

参数信息:

Name:图像采集设备的名称

HorizontalResolution和VerticalResolution:分别指预期的图像采集接口的水平分辨率和垂直分辨率

ImageWidth和ImageHeight:指预期图像的宽度部分和高度部分。

StartRow和StartColumn:指显示预期图像的开始坐标

Field:预期图像是一半的图像或者是完整图像

BitsPerChannel:每像素比特数和图像通道

ColorSpace:输出的色彩格式的抓住图像{gray、raw、rgb、yuv、default}

Generic:通用参数与设备细节部分的具体意义。

ExternalTrigger:是否有外部触发

CameraType:使用相机的类型

Device:图像获取设别连接到的设备

Port:图像获取设别连接到的端口

LineIn :相机输入的多路转接器

AcqHandle:图像获取设备的Handle

4、grab_image ( : Image : AcqHandle : )

获取AcqHandle的图像采集设备的Image。

5、get_framegrabber_param ( : : AcqHandle, Param : Value )

查询AcqHandle的图像采集设备的特殊参数

Param∈{name、port、revision、bits_per_channel, camera_type、color_space、device、?eld、generic、external_trigger、grab_timeout、horizontal_resolution、image_available、image_height、image_width、line_in、start_column、start_row、volatile、vertical_resolution、continuous_grabbing、}

6、info_framegrabber ( : : Name, Query : Information, ValueList )

查询指定的图像采集接口的信息。

Name为图像采集设备的名称

Query为需要查询的参数名称

Information是指输出的文本信息

ValueList为该图像采集接口的参数值。

Name∈{1394IIDC、ABS、BaumerFCAM、BitFlow、Crevis、uEye、DahengCAM、DahengFG、DFG-LC、DirectFile、DirectShow、dPict、DT315x、DT3162、eneo、eXcite、FALCON、FlashBusMV、FlashBusMX、GigEVision、Ginga++、GingaDG、INSPECTA、TAG、INSPECTA5、iPORT、Leutron、LinX、LuCam、MatrixVisionAcquire、MILLite、File、mEnableIII、mEnableIV、mEnableVisualApplets、MultiCam、Opteon、p3i2、p3i4、PixeLINK、PX、PXC、PXD、PXR、pylon、RangerC、RangerE、SaperaLT、Sentech、SonyXCI、SonyXCI-2、SVCam-GigE、TWAIN、VRmUsbCam}

Query∈{defaults、general、info_boards、parameters、?eld、generic、parameters_readonly、parameters_writeonly、vertical_resolution、port、bits_per_channel、camera_type、color_space、device、external_trigger、?eld、generic、horizontal_resolution、image_height、image_width、start_row、start_column、revision}

7、grab_image_async ( : Image : AcqHandle, MaxDelay : )

获取AcqHandle的图像采集设备的Image

当调用grab_image_async 或者grab_data_async时,抓拍下一个图像就结束了。

[c-sharp] view plain copy

  1. // Select a suitable image acquisition interface name AcqName
  2. open_framegrabber(AcqName,1,1,0,0,0,0,’default’,-1,’default’,-1.0,’default’,’default’,’default’,-1,-1,AcqHandle)
  3. // Grab image + start next grab
  4. grab_image_async(Image1,AcqHandle,-1.0)
  5. // Process Image1 ...
  6. // Finish asynchronous grab + start next grab
  7. grab_image_async(Image2,AcqHandle,-1.0)
  8. // Process Image2 ...
  9. close_framegrabber(AcqHandle)

8、grab_image_start ( : : AcqHandle, MaxDelay : )

开始抓拍

只有当和grab_image_async or grab_data_async一起使用时,grab_image_start 才会起作用。

[c-sharp] view plain copy

  1. // Select a suitable image acquisition interface name AcqName
  2. open_framegrabber(AcqName,1,1,0,0,0,0,’default’,-1,’default’,-1.0,
  3. ’default’,’default’,’default’,-1,-1,AcqHandle)
  4. grab_image(Image1,AcqHandle)
  5. // Start next grab
  6. grab_image_start(AcqHandle,-1.0)
  7. // Process Image1 ...
  8. // Finish asynchronous grab + start next grab
  9. grab_image_async(Image2,AcqHandle,-1.0)
  10. // Process Image2 ...
  11. close_framegrabber(AcqHandle)

9、get_framegrabber_lut ( : : AcqHandle : ImageRed, ImageGreen,

ImageBlue )

查询AcqHandle的图像采集设备的look-up table

注意:该运算子不能支持所有的图像采集设备

10、grab_data ( : Image, Region, Contours : AcqHandle : Data )

获取AcqHandle的图像采集设备获得的Image、预处理Region和预处理XLD轮廓Contours和预处理控制数据Data。

注意:该运算子不能支持所有的图像采集设备

11、grab_data_async ( : Image, Region, Contours : AcqHandle,MaxDelay: Data )

获取AcqHandle的图像采集设备的Image、预处理Region和预处理XLD轮廓Contours和预处理控制数据Data。(需要特殊图像采集数据)

12、set_framegrabber_lut ( : : AcqHandle, ImageRed, ImageGreen,ImageBlue : )

设置AcqHandle的图像采集设备的look-up table

13、set_framegrabber_param ( : : AcqHandle, Param, Value : )

设置AcqHandle的图像采集设备的特殊参数

相关代码:

[c-sharp] view plain copy

  1. close_all_framegrabbers ()
  2. open_framegrabber (‘DahengCAM‘, 1, 1, -1, -1, 0, 0, ‘default‘, -1, ‘rgb‘, -1, ‘false‘, ‘default‘, ‘default‘, -1, -1, AcqHandle)
  3. grab_image (Image, AcqHandle)
  4. grab_image_async (Image2, AcqHandle, -1)
  5. get_framegrabber_param (AcqHandle, ‘image_width‘, Value)
  6. info_framegrabber (‘DirectFile‘, ‘info_boards‘, Information, ValueList)

可以通过调试以上代码,并且查看相关变量的变化,更深入的了解函数的意义。

注意:在本段代码中,使用的是大恒的HV1303的工业摄像机,如果是使用一般的摄像头来采集数据的话,Name值可以设置为Direct_show。

1
0
时间: 2024-10-12 15:51:06

Halcon学习之二:摄像头获取图像和相关参数的相关文章

Kafka 学习笔记之 High Level Consumer相关参数

High Level Consumer相关参数 自动管理offset auto.commit.enable = true auto.commit.interval.ms = 60*1000 手动管理offset auto.commit.enable = false ConsumerConnector.commitOffsets(); offset存储 offsets.storage = zookeeper (kafka) dual.commit.enabled = true (false)

鸟书shell 学习笔记(二) shell中正则表达式相关

通配符与正则表达式的区别 通配符是bash原生支持的语法,正则表达式是处理字符串的一种表示方式, 正则表达式需要支持的工具支持才可以 语系设置 : export LANG=C grep alias 设置 : grep --color=auto grep 的一些高级参数 grep [-A] [-B] '搜寻字符串' filename //同时输出之前的k行和之后的m行 -A : 后面可加数字,表示列出改行以及之后的n行 -B : 列出前面几行 搜寻关键字如果中间使用正则表达式的话,则正则表达式部分

Halcon学习笔记之支持向量机(二)

例程:classify_halogen_bulbs.hdev 在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法.通过这个案例,相信大家可以对支持向量机的使用有一个更加清晰的了解.在相当多的检测和识别的应用中,都可以使用相同的方法来解决分类问题. 图1. 卤素灯图像 大致原理: 一.准备阶段:描述样本 1. 准备好两组卤素灯图像样本,好坏的各若干张图像: 2. 对样本图像进行分割,获取卤素灯关键部位区域: 3. 选择合适的对图像的描述

linux学习笔记(一)-文件目录相关的命令&&文件通配符

一.几个命令概述 1.查看目录以及目录底下的文件:ls(-a显示隐藏文件:-d显示目录本身:-l显示详细内容:-R递归显示,即把子目录的文件也显示出来:-h以更加被人类理解的格式显示,比如显示文件大小的时候用M为单位显示:-i显示文件索引ID) 2.查看文件内容:cat,head,tail,less,more,tac cat:将文件连接起来,输出在屏幕上,可接多个文件(-E:显示隐藏的换行符:-n:显示出行号) head:默认查看文件的前10行(-n#:查看文件的前#行.空白行也是一行) tai

小猪的数据结构学习笔记(二)

小猪的数据结构学习笔记(二) 线性表中的顺序表 本节引言: 在上个章节中,我们对数据结构与算法的相关概念进行了了解,知道数据结构的 逻辑结构与物理结构的区别,算法的特性以及设计要求;还学了如何去衡量一个算法 的好坏,以及时间复杂度的计算!在本节中我们将接触第一个数据结构--线性表; 而线性表有两种表现形式,分别是顺序表和链表;学好这一章很重要,是学习后面的基石; 这一节我们会重点学习下顺序表,在这里给大家一个忠告,学编程切忌眼高手低,看懂不代表自己 写得出来,给出的实现代码,自己要理解思路,自己

Spring Batch学习笔记二

此系列博客皆为学习Spring Batch时的一些笔记: Spring Batch的架构 一个Batch Job是指一系列有序的Step的集合,它们作为预定义流程的一部分而被执行: Step代表一个自定义的工作单元,它是Job的主要构件块:每一个Step由三部分组成:ItemReader.ItemProcessor.ItemWriter:这三个部分将执行在每一条被处理的记录上,ItemReader读取每一条记录,然后传递给ItemProcessor处理,最后交给ItemWriter做持久化:It

Tomcat学习之二:tomcat安装、配置及目录文件说明

我们看到tomcat目录/bin文件夹里有个tomcat6w.exe,顾名思义就是tomcat以window方式显示控制台.第1次点击打开它时候,可能会提示:tomcat指定的服务未安装,此时我们可以这样解决它. 打开命令行提示符窗口-> 进入Tomcat安装目录-> 进入bin目录下-> 输入:service.bat install 即可,如图操作,tomcat目录按自己电脑上的来即可 <!--[endif]--> 这样就可以让tomcat以window方式显示控制台.点击

MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作(转载)

孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(二)--使用MyBatis对表执行CRUD操作 上一篇博文MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对users表执行CRUD操作.本文中使用到的测试环境是上一篇博文中的测试环境. 一.使用MyBatis对表执行CRUD操作--基于XML的实现 1.定义sql映射xml文件 userMa

【Unity 3D】学习笔记二十六:unity游戏脚本(六)

在3D游戏世界中,任何一个游戏对象在创建的时候都会附带Transform(变换)组件,并且该组件是无法删除的,也不应该删除.在unity中,Transform面板一共有3个属性: Position  (位置) Rotation(旋转) Scale(缩放) 这三个值都是用来调整游戏对象在游戏界面中的位置,状态等相关参数. Position  (位置) 任何一个游戏对象的三维坐标都保存在Vector3容器中,该容器记录对象在X轴,Y轴,Z轴的坐标.一旦Vector33容器中的坐标发生变化,那么Sce