【halcon实现绘制ROI屏蔽区域】

halcon实现绘制ROI屏蔽区域

案例实操

在这里插入图片描述

dev_clear_window ()
dev_close_window ()

dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
**读取图像
read_image (Image, 'printer_chip/printer_chip_01')
**备份复制图像
copy_image (Image, DupImage1)
**获取通道数,判断转换图像(1to3)
copy_image (DupImage1, ImageRGB1)
count_channels (DupImage1, Channels)
*如果不是3通道图像 ,转换位3通道图像
if (Channels==1)
    ** 获取图像句柄
    get_image_pointer1 (DupImage1, Pointer, Type, Width, Height)
    ** 使用单通道图像 生成3通道图像
    gen_image3 (ImageRGB1, Type, Width, Height, Pointer, Pointer, Pointer)
endif
**备份彩色原图像
copy_image (ImageRGB1, srcImageRGB)

**设置绘制样式:绘制边界,蓝色,线宽=3
dev_set_draw ('margin')
dev_set_color ('blue')
dev_set_line_width (3)
**绘制并生成矩形
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
**裁剪感兴趣(ROI)区域
reduce_domain (DupImage1, Rectangle, RoiRegion)

**设置填充颜色
ColorRed := [255,0,0]
ColorGreen := [0,255,0]
ColorBlue := [0,0,255]
**在指定图像的指定区域填充覆盖指定颜色。
overpaint_region (ImageRGB1, Rectangle, ColorBlue, 'fill')
**图像相加:
add_image (srcImageRGB, ImageRGB1, ImageResult1, 0.5, 0)

stop ()
dev_set_color ('red')
***绘制圆形:绘制屏蔽区域
draw_rectangle1 (WindowHandle, Row11, Column11, Row21, Column21)
gen_rectangle1 (Rectangle2, Row11, Column11, Row21, Column21)
reduce_domain (DupImage1, Rectangle2, NonRoiRegion)
**获取绘制了感兴趣区域、屏蔽区域的图像(透明色)
copy_image (ImageRGB1,ImageRGB2)

overpaint_region (ImageRGB2, Rectangle2, ColorRed, 'fill')
add_image (srcImageRGB, ImageRGB2, ImageResult2, 0.5, 0)

RemovedRegion:=Rectangle2
**图像相减,得到不同的区域:
difference (RoiRegion, NonRoiRegion, RegionDifference)
**获取模板图像
reduce_domain (RoiRegion, RegionDifference, ImageReduced)

**创建模板******************************************************
create_shape_model (ImageReduced, 'auto', -0.39, 0.79, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
**查找模板
find_shape_model (Image, ModelID, rad(-180), rad(180), 0.5, 1, 0.5, 'least_squares', 0, 0.9, \
                  Row3, Column3, Angle, Score)
*获取模板轮廓
get_shape_model_contours (ModelContours, ModelID, 1)
dev_set_color ('green')
dev_clear_window ()
dev_display (Image)
dev_set_line_width (2)
** 将模板映射到目标上:刚性放射变换,生成变换矩阵
vector_angle_to_rigid (0, 0, 0, Row3, Column3, Angle, HomMat2D)
** 仿射变换显示图像轮廓
affine_trans_contour_xld (ModelContours, ContoursAffinTrans, HomMat2D)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值