您的位置:首页 > 其它

用几何定位实现平移

2016-04-19 22:02 134 查看
*******图像不变,平移ROI

dev_set_draw('margin')

**读取图像(模板图像)

read_image(Image,'D:/halcon学习/image/模组/模组/1.bmp')

**产生检测ROI

gen_rectangle1(Rectangle,848,237,1001,941)

**产生模板区域

gen_circle(Circle,544,564,241)

**减少定义域

reduce_domain(Image, Circle, ImageReduced)

**创建模板。平移变换,把角度设置为0

create_shape_model (ImageReduced, 'auto', 0, 0, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)

**获取模板轮廓

get_shape_model_contours(ModelContours, ModelID, 1)

****读取另外一副图像(实时图像)

read_image(Image2,'D:/halcon学习/image/模组/模组/2.bmp')

****几何定位

find_shape_model (Image2, ModelID, 0, 0, 0.5, 1, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Score)

***判断是否定位到。如果定位到,进入if

if(|Score|>0)

**显示模板轮廓

dev_display_shape_matching_results(ModelID, 'red', Row, Column, Angle, 1, 1, 0)

***求模板区域中心

area_center(Circle, Area, Row2, Column2)

***计算仿射变换:从模板图像变换到实时图像。平移变换,目的角度设为0

vector_angle_to_rigid(Row2,Column2,0,Row,Column,Angle,HomMat2D)

**对齐检测ROI到实时图像

affine_trans_region(Rectangle,RegionAffineTrans, HomMat2D, 'false')

***显示图像

dev_display(Image2)

***计算仿射变换:从实时图像变换到模板图像

vector_angle_to_rigid(Row,Column,0,Row2,Column2,0,HomMat2D)

**把实时图像变换到模板图像

affine_trans_image(Image2,ImageAffinTrans1,HomMat2D, 'constant', 'false')

*****显示检测ROI

dev_display(Rectangle)

endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: