原文作者:aircraft
原文链接:https://cloud.tencent.com/developer/article/2255192
废话不多说,因为毕业后工作原因比较忙,好久没更新博客了,直接上图。。。
上图有个十字线,我们要提取出十字线的中心(Hhhh这个线是我随手画的 没画直!!)
第一步:肯定是读取图像进行灰度提取处理啦。
目前我们已经把十字线提取出来了。
第二步:单独提取横线和竖线的区域出来
这里提取有很多种方法,我们用的是开运算,通过控制滤波核的尺寸将横线,和竖线都进行一次单独的过滤。这样我们就分别得到了十字线的横线区域
和竖线区域了。
第三步:求两线的交集部分即十字线的交点位置
那么这里我们就将十字线的中心提取出来了。然后可以看看中心的坐标位置是什么
代码如下:
read_image (Image, 'C:/Users/xujh131042/Pictures/十字线.PNG')
threshold(Image, Region, 0, 10)
opening_rectangle1 (Region, RegionOpening1, 1, 5)
opening_rectangle1 (Region, RegionOpening2, 5, 1)
intersection (RegionOpening1, RegionOpening2, RegionIntersection)
area_center (RegionIntersection, Area, Row, Column)
当然这里也可以用局部阈值分割来提取出十字线
代码如下:
read_image (Image, 'C:/Users/xujh131042/Pictures/十字线.PNG')
mean_image (Image, ImageMean, 6, 6)
dyn_threshold (Image, ImageMean, RegionDynThresh, 5, 'dark')
opening_rectangle1 (RegionDynThresh, RegionOpening1, 1, 5)
opening_rectangle1 (RegionDynThresh, RegionOpening2, 5, 1)
intersection (RegionOpening1, RegionOpening2, RegionIntersection)
area_center (RegionIntersection, Area, Row, Column)