Halcon 学习之一:查询图像参数
1、get_grayval ( Image : : Row, Column : Grayval )
计算 Image 图像中坐标为(Row,Column)的点的灰度值 Grayval。
2、get_image_pointer1 ( Image : : : Pointer, Type, Width, Height )
计算 Image 图像的数据指针 Pointer,图像类型 Type,图像宽度 Width 和高
度 Height。Pointer 指向了 Image data 的起点位置。
3、get_image_pointer3 ( ImageRGB : : : PointerRed, PointerGreen,
PointerBlue, Type, Width, Height )
计算彩色图像 ImageRGB 的参数。
4、get_image_pointer1_rect ( Image : : : PixelPointer, Width, Height,
VerticalPitch, HorizontalBitPitch, BitsPerPixel )
计算 Image 图像中定义区域的最小的长方形的区域的指针 Pointer,宽度 Width,
高度 Height,VerticalPitch 代表 Image 的 Width*(HorizontalBitPitch/8)。两
个相邻象素的水平距离(以比特计算)HorizontalBitPitch,每像素的比特数
BitsPerPixel。
5、get_image_time ( Image : : : MSecond, Second, Minute, Hour, Day,
YDay, Month, Year )
获取图像生成的时间。
程序::
可以通过上述查看参数深入了解各个函数的具体意义。
1. dev_open_window (0, 0, 512, 512, 'black', Handle1)
2.
3. read_image (Image, 'G:/Halcon/机器视觉
/images/autobahn.png')
4.
5. get_grayval (Image, 12, 66, Grayval)
6.
7. get_image_pointer1 (Image, Pointer, Type, Width, Height)
8.
9. draw_region (Region1, Handle1)
10.
11. reduce_domain (Image, Region1, ImageReduced)
12.
13. get_image_pointer1_rect (ImageReduced, PixelPointer,
Width1, Height1, VerticalPitch, HorizontalBitPitch,
BitsPerPixel)
14.
15. read_image (Image1, 'G:/Halcon/机器视觉
/images/claudia.png')
16.
17. get_image_pointer3 (Image1, PointerRed, PointerGreen,
PointerBlue, Type1, Width2, Height2)
18.
19. get_image_time (Image, MSecond, Second, Minute, Hour,
Day, YDay, Month, Year)
注意:Image1 必须是彩色图像。
dev_open_window (0, 0, 512, 512, 'black', Handle1)read_image (Image, 'G:/Halcon/机器视觉/images/autobahn.png')get_grayval (Image, 12, 66, Grayval)get_image_pointer1 (Image, Pointer, Type, Width, Height)draw_region (Region1, Handle1)reduce_domain (Image, Region1, ImageReduced)get_image_pointer1_rect (ImageReduced, PixelPointer, Width1, Height1, VerticalPitch, Horread_image (Image1, 'G:/Halcon/机器视觉/images/claudia.png')get_image_pointer3 (Image1, PointerRed, PointerGreen, PointerBlue, Type1, Width2, Height
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、field、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、field、generic、
parameters_readonly、parameters_writeonly、vertical_resolution、port、
bits_per_channel、camera_type、color_space、device、external_trigger、
field、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 plaincopyprint?
1. // Select a suitable image acquisition interface name
AcqName
2. open_framegrabber(AcqName,1,1,0,0,0,0,’default’,-1,’de
fault’,-1.0,’default’,’default’,’default’,-1,-1,AcqHan
dle)
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:showcolumns] view plaincopyprint?
·········10········20········30········40········50········60········70········80········90········100·······1
10·······120·······130·······140·······150
1. // Select a suitable image acquisition interface name
AcqName
2. open_framegrabber(AcqName,1,1,0,0,0,0,’default’,-1,’de
fault’,-1.0,
// Select a suitable image acquisition interface name AcqNameopen_framegrabber(AcqName,1,1,0,0,0,0,’default’,-1,’default’,-1.0,’default’,’defa// Grab image + start next grabgrab_image_async(Image1,AcqHandle,-1.0)// Process Image1 ...// Finish asynchronous grab + start next grabgrab_image_async(Image2,AcqHandle,-1.0)// Process Image2 ...close_framegrabber(AcqHandle)
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。
注意:该运算子不能支持所有的图像采集设备
// Select a suitable image acquisition interface name AcqNameopen_framegrabber(AcqName,1,1,0,0,0,0,’default’,-1,’default’,-1.0,’default’,’default’,’default’,-1,-1,AcqHandle)grab_image(Image1,AcqHandle)// Start next grabgrab_image_start(AcqHandle,-1.0)// Process Image1 ...// Finish asynchronous grab + start next grabgrab_image_async(Image2,AcqHandle,-1.0)// Process Image2 ...close_framegrabber(AcqHandle)