在别的网站看到一个案例:需要识别环状物体上的字符(OCR),要用到极坐标变换。

按照最简单的模式,原始检测方案如下:
read_image (Image, 'H:/学习笔记/halcon笔记/1.jpg')
*获取图片尺寸,极坐标变换成原始图片大小
get_image_size (Image, Width, Height)
*获取圆环物体区域(包含字符),抠图
threshold (Image, Region, 0, 100)
connection (Region, ConnectedRegions)
select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)
fill_up_shape (SelectedRegions, RegionFillUp, 'area', 1, 10000)
reduce_domain (Image, RegionFillUp, ImageReduced)
*求外圆圆心,半径
gen_contour_region_xld (RegionFillUp, OuterCont, 'border')
fit_circle_contour_xld (OuterCont, 'algebraic', -1, 0, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)
*求内圆圆心,半径
fill_up (RegionFillUp, RegionFillUp1)
difference (RegionFillUp1, RegionFillUp, RegionDifference)

在视觉检测中,针对环状物体字符的OCR识别,原始极坐标变换可能导致字符被切割。通过调整变换角度,从外接矩形的顶点计算线线夹角作为起始和终止角度,优化了变换,确保字符连续,提高识别准确性。
最低0.47元/天 解锁文章
3380

被折叠的 条评论
为什么被折叠?



