原文作者:aircraft
原文链接:https://www.cnblogs.com/DOMLX/p/17266405.html
废话不多说,因为毕业后工作原因比较忙,好久没更新博客了,直接上图。。。
上图有个十字线,我们要提取出十字线的中心(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)
若有兴趣交流分享技术,可关注本人公众号,里面会不定期的分享各种编程教程,和共享源码,诸如研究分享关于c/c++,python,前端,后端,opencv,halcon,opengl,机器学习深度学习之类有关于基础编程,图像处理和机器视觉开发的知识