Halcon圆形分割、文本显示和批量读图


1、Halcon圆形分割

圆形分割的一般步骤:(1) 读取图像;(2) 图像灰度化;(3) 二值化;(4) 做闭运算封闭图像;(5) 将不相连的的部分区分开;(6) 按条件挑选出需要分割的区域;(7) 找到最小圆,将圆画出来;
代码如下:

read_image (Image, 'E:/HALCON_TEXT/Image/131770.bmp')   //读取图像
rgb1_to_gray (Image, GrayImage)  //灰度化
* get_image_size (Image, Width, Height)
* dev_open_window (0, 0, Width/3, Height/3, 'black', Window1)

threshold (GrayImage, Region, 122, 255)                //二值化
closing_circle (Region, RegionClosing,10)              //闭运算
connection (RegionClosing, ConnectedRegions)           //将相连接的部分区分开
select_region_point (ConnectedRegions, DestRegions, 1000, 1000)  //按条件挑选区域
smallest_circle (DestRegions, Row, Column, Radius)     //最小外接圆
* dev_display (Image)
gen_circle (Circle, Row, Column, Radius)               //生成圆
*设置只能看到线条
dev_set_draw ('margin')   

2、图像上文本显示

文本显示算子经常在Halcon图像处理中用到,所以这里将其封装为外部函数,后续使用直接调用即可,封装的函数中参数有:字体类型、大小、窗体、颜色、位置、文本内容。代码如下:

*----------------------------------*
          *设置窗口字体
*----------------------------------*
*字体类型、大小、窗体、颜色、位置、Message
Fonts := 'Times New Roman'    //字体类型
Size := 32                    //大小
Windows := 200000             //窗体
colors :='green'              //颜色
positions := [100, 20]        //位置
string :='显示内容'               //Message
*设置字体
set_display_font (Windows, Size, Fonts, 'true', 'false')
*设置输出message的位置
disp_message (Windows, string, 'window', positions[0], positions[1], colors, 'false')
*外部函数调用
SetFont (Windows, Size, Fonts, string, positions, colors)
stop()

3、批量读图

在Halcon应用中经常会遇到批量读图的操作,在这里做一个记录,后续使用可以直接复制,代码如下(示例):

*--------------------------------------*
            *批量读图
*--------------------------------------*
*读取文件夹
list_files ('E:/HALCON_TEXT/Image', 'files', Files)
*筛选相应格式的图像  
tuple_regexp_select (Files, '\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima)$', ImageFiles)
*循环读图
for imgIndex := 0 to |ImageFiles| - 1 by 1
    read_image (Image, ImageFiles[imgIndex])
endfor
  • 18
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水资源是人类社会的宝贵财富,在生活、工农业生产中是不可缺少的。随着世界人口的增长及工农业生产的发展,需水量也在日益增长,水已经变得比以往任何时候都要珍贵。但是,由于人类的生产和生活,导致水体的污染,水质恶化,使有限的水资源更加紧张。长期以来,油类物质(石油类物质和动植物油)一直是水和土壤中的重要污染源。它不仅对人的身体健康带来极大危害,而且使水质恶化,严重破坏水体生态平衡。因此各国都加强了油类物质对水体和土壤的污染的治理。对于水中油含量的检测,我国处于落后阶段,与国际先进水平存在差距,所以难以满足当今技术水平的要求。为了取得具有代表性的正确数据,使分析数据具有与现代测试技术水平相应的准确性和先进性,不断提高分析成果的可比性和应用效果,检测的方法和仪器是非常重要的。只有保证了这两方面才能保证快速和准确地测量出水中油类污染物含量,以达到保护和治理水污染的目的。开展水中油污染检测方法、技术和检测设备的研究,是提高水污染检测的一条重要措施。通过本课题的研究,探索出一套适合我国国情的水质污染现场检测技术和检测设备,具有广泛的应用前景和科学研究价值。 本课题针对我国水体的油污染,探索一套检测油污染的可行方案和方法,利用非分散红外光度法技术,开发研制具有自主知识产权的适合国情的适于野外便携式的测油仪。利用此仪器,可以检测出被测水样中亚甲基、甲基物质和动植物油脂的污染物含量,为我国众多的环境检测站点监测水体的油污染状况提供依据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值