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

Posted 挣脱生命的束缚...

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Halcon学习之二:摄像头获取图像和相关参数的主要内容,如果未能解决你的问题,请参考以下文章

Halcon学习之三:有关图像通道的函数

Halcon学习之七:改变图像的现实方式和大小

Halcon学习之四:有关图像生成的函数

Halcon学习之八:图像区域叠加与绘制

Halcon学习之五:有关图像的定义域的函数

Halcon学习之边缘检测函数