halcon基本的图像分割(腐蚀,膨胀,选择)

By admin at 16 天前 • 0人收藏 • 60人看过
import win.ui;
/*DSG{{*/
mainForm = win.form(text="aardio工程2";right=957;bottom=667)
mainForm.add(
button={cls="button";text="Button";left=787;top=78;right=944;bottom=149;z=2};
picturebox={cls="picturebox";left=0;top=0;right=748;bottom=668;z=1}
)
/*}}*/

import HOperatorSetX;
//halcon
var HOperatorSetX = com.CreateObject("{6ebd90e2-d219-11d2-ade5-0000c00f4ef9}")
//读取图片
var Image = HOperatorSetX.ReadImage("C:\Users\Public\Documents\MVTec\HALCON-13.0\examples\images\metal-parts\work_sheet_01");
//读取图片原始大小
var width,height = HOperatorSetX.GetImageSize(Image);
//将picturebox绑定到halcon窗口,并设置窗口显示图片原始大小
var WindowHandle = HOperatorSetX.OpenWindow(0,0,width,height,mainForm.picturebox.hwnd,"transparent","");

var i =1;
mainForm.button.oncommand = function(id,event){
    //循环加载图片
    if(i>=5){
    	i=1;
    }
    //清空之前窗口的显示
	HOperatorSetX.ClearWindow( WindowHandle );
	//读取图片
    Image = HOperatorSetX.ReadImage("C:\Users\Public\Documents\MVTec\HALCON-13.0\examples\images\metal-parts\work_sheet_"++string.format("%02d", i));
	//WindowHandle串口中显示image图片
	HOperatorSetX.DispObj( Image , WindowHandle );
	//模糊图像
	var  ImageMean = HOperatorSetX.MeanImage( Image, 201, 201 );
	//动态阈值处理(亮色)
	var  Region = HOperatorSetX.DynThreshold( Image, ImageMean, 0, 'light' );
	//填充上面获取的那些区间
	var  RegionFillUp = HOperatorSetX.FillUp( Region );
	//断开区块
	var  ConnectedRegions = HOperatorSetX.Connection( RegionFillUp );
	//腐蚀上面圆形结构基础的区域,将小圆形区域腐蚀掉
	var  RegionErosion = HOperatorSetX.ErosionCircle( ConnectedRegions, 3.5 );
	//膨胀上面圆形结构基础的区域,还原之前剩下的区域大小
	var  RegionDilation = HOperatorSetX.DilationCircle( RegionErosion, 3.5 );
	//选择需要的区域(面积在2000到4000000之间,凸性在0.9到1,方形特性0.8-1之间的区域)
	var  Objects = HOperatorSetX.SelectShape( RegionDilation, {'area';'convexity';'rectangularity'}, 'and', {2000;0.9;0.8}, {4000000;1;1} );
	//设置显示区域颜色为绿色
	HOperatorSetX.SetColor( WindowHandle , "green" );
	//不填充样式
	HOperatorSetX.SetDraw(WindowHandle,"margin");
	//显示区域框
	HOperatorSetX.DispObj( Objects , WindowHandle );
	//下一个图片
	i++;
}

mainForm.show();
return win.loopMessage();

image.png

登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
Htmlayout皮肤Htmlayout皮肤引擎介绍
黑猫Aar教程网:简码编程
C大Aardio论坛:Aar爱好者论坛
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...