halcon图像采集
来源:互联网 发布:mac怎么进qq游戏大厅 编辑:程序博客网 时间:2024/05/17 06:28
Halcon图像获取与相关参数
图像获取程序例1.
1.set_system( : : SystemParameter, Value : )
设置系统参数
2.open_framegrabber ( : : Name, HorizontalResolution,VerticalResolution, ImageWidth, ImageHeight, StartRow, StartColumn,Field, BitsPerChannel, ColorSpace, Generic, ExternalTrigger,CameraType, Device, Port, LineIn : AcqHandle )
输入控制:
3.grab_image( : Image : AcqHandle : )
从AcqHandle指定的图像获取设备中获取图像,输出为获得的图像
4.set_framegrabber_param( : : AcqHandle, Param, Value : )
为AcqHandle指定的图像获取设备设置参数
Param : 'color_space', 'continuous_grabbing', 'external_trigger', 'grab_timeout', 'image_height', 'image_width', 'port', 'start_column', 'start_row', 'volatile'
注意:能够设置的参数不仅仅是上述建议的参数。也可以一次设定多个参数值。
例如:set_framegrabber_param (AcqHandle, 'port', Port0)
set_framegrabber_param (AcqHandle, ['image_width','image_height'], [256, \256])
对DaHengCams能设置的常用额外参数包括:
'adc_level' ---设置A/D转换的级别;
'color_space' ---设置颜色空间
'gain' ---设置相机增益
'grab_timeout' ---设置采集超时终止的时间
'resolution' ---设定相机的采相分辨率,MOD0为最大的分辨率。
'shutter' ---设定相机的曝光时间。
'shutter_unit' ---设定相机曝光时间的单位。
'white_balance' ---相机是否打开白平衡模式,默认为关闭白平衡
5.info_framegrabber( : : Name, Query : Information, ValueList)
查询指定的图像采集接口的信息。
Name为图像采集设备的名称
Query为需要查询的参数名称
Information是指输出的文本信息
ValueList为该图像采集接口的参数值
6.get_image_pointer1(Image : : : Pointer, Type, Width, Height)
获取一个图像通道的指针,输出指针以及图像类型和尺寸。
7.dev_set_part( : : Row1, Column1, Row2, Column2 : )
修改图像显示部分的尺寸。
8.close_all_framegrabbers( : : : )
关闭图像采集设备。
9.count_seconds( : : : Seconds)
测试算子实行时间
* general configuration of HDevelop
set_system ('do_low_error', 'true') //设置系统参数,在输出窗口只立即显示图像//
dev_update_window ('off')
stop ()
* step 1: connect to the image acquisition device
* -> Please adapt the following lines for your own image acquisition device.
AcqName := 'DaHengCam'
open_framegrabber (AcqName, 1, 1, 0, 0, 0, 0, 'default', -1, 'gray', -1, 'false', 'ntsc', 'default', -1, -1, AcqHandle) //打开并配置图像采集设备//
stop ()
* step 2: grab a first image and adjust the window size
grab_image (Image, AcqHandle) //获取图像//
get_image_pointer1 (Image, Pointer, Type, Width, Height) //获取图像通道指针//
dev_close_window ()
dev_open_window (0, 0, Width/2, Height/2, 'black', WindowHandle) //开新窗口//
dev_set_part (0, 0, Height-1, Width-1)
dev_display (Image)
stop ()
* step 3: grab and process images in a loop (exit with left mouse button)
dev_open_window (0, Width/2 + 8, Width/2, Height/2, 'black', WindowHandleProcess)
dev_set_colored (12)
dev_open_window (Height/2 + 68, 0, Width/2, Height/16, 'light gray', WindowHandleButton)
dev_set_part (0, 0, Height/16 - 1, Width/2 -1)
write_string (WindowHandleButton, ' click here with left mouse button to exit loop')//写字符
dev_set_window (WindowHandle)
dev_set_part (0, 0, Height-1, Width-1)
Button := 0
while (Button # 1)
显示结果为:[1, 0, 3, 2, 5, 6, 7, 8, 9],即对索引3后面元素,数组Tuple1中第4个元素赋值2.
example:
read_image (Mreut, 'mreut') //读入图像
threshold (Mreut, Region, 190, 255) //阈值化,输出阈值在190-255的Regions
Areas := [] //定义数组Areas
for Radius := 1 to 50 by 1 //循环
dilation_circle (Region, RegionDilation, Radius) //利用半径为Radius的圆对Region进行膨胀运算,输出
area_center (RegionDilation, Area, Row, Column) //输出区域的面积和中心像素坐标
Areas[Radius-1] := Area //对数组Areas的第Radius-1个元素进行赋值
endfor
3.基本数组操作极其对应的算子
t := [t1,t2] t1,t2连接成新的数组 对应算子:tuple_concat
i := |t| 得到数组长度 tuple_length
v := t[i] 选取第i个元素0<= i < |t| tuple_select
t := t[i1:i2] 选取i1到i1的元素 tuple_select_range
t := subset(t,i) 选取数组t中的第i个元素 tuple_select
t := remove(t,i) 去除数组t中的第i个元素 tuple_remove
i := find(t1,t2) 找到t2数组在t1数组中出现位置索引
t := uniq(t) 在t数组中把连续相同的值只保留一个 tuple_uniq
4.创建数组
(1)gen_tuple_const函数
tuple := gen_tuple_const(100,4711) //创建一个具有100个元素的,每个元素都为4711的数据
tuple_new := gen_tuple_const(|tuple_old|,4711) //创建一个和原来数据长度一样的数据
上面的函数也可以通过如下表达式实现:tuple_new := (tuple_old * 0) + 4711
(2)当数组中的元素不同时,需要用循环语句对数组中的每一个元素赋值
例如:tuple := [] //创建空数组
for i := 1 to 100 by 1 //建立步长为1的循环
tuple := [tuple,i*i] //将i方的值赋给数组的第i个元素
endfor //循环结束
endwhile
dev_set_window (WindowHandleButton)
dev_close_window ()
dev_set_window (WindowHandleProcess)
dev_close_window ()
stop ()
* clean up
dev_update_window ('on')
close_all_framegrabbers ()
0 0
- halcon采集图像
- halcon图像采集
- Halcon学习之图像采集
- halcon+大恒水星相机图像采集
- halcon采集标定图像的规则
- halcon图像采集之同步(synchronous)与异步(asynchronous)
- 在VS2005中使用Halcon算子采集和处理图像的步骤
- Halcon 图像采集 http://www.360doc.com/content/14/0217/10/10724725_353160140.shtml
- Halcon+VisualStudio2015使用线程实现大恒水星相机实时图像采集
- C#用basler相机sdk采集图像并用halcon显示的小程序
- 图像采集
- 图像采集
- HALCON图像处理软件
- HALCON图像处理软件
- Halcon-Matlab 图像匹配
- 【总结】Halcon图像拼接
- Halcon 算子 读写图像
- halcon图像二值化
- Spring Annotation 笔记——IOC篇
- 算法8:巧妙的邻接表(数组实现)
- Poj 1321 棋盘问题
- ShellSort
- cocos2d-x 中多线程的c/c++代码通过JNI调用java代码
- halcon图像采集
- 关于以后博客更新的二三事
- 如何由二叉树的先序和中序序列画出二叉树
- UI022---xib自定义UITableView
- B\S备忘录25——集群初识
- 电脑自带键盘和模拟器键盘互相切换
- iOS入门(十一)结构体指针
- 键值编码 || Cocoa绑定
- Python版RenameURLCode