![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
项目问题记录
kimino4a
这个作者很懒,什么都没留下…
展开
-
边缘提取
边缘提取思路:从上到下,从左到右找到第一个标记点,以该点为起点,在其3*3邻域内寻找下一个边缘点,邻域点按照逆时针方向依序编号: 1 2 3 0 4 7 6 5原则上对每个点的邻域,从编号0开始,逆时针查找每一个点是否是标记点,但是这样会产生重复查找,所以每次需要计算一个新的起点来减少避免这种不必要的重复。以起点为例,由于它是由上至下,由左至右的第一个标记点,则可以确定其邻域中的0,1,原创 2017-05-11 11:24:09 · 515 阅读 · 0 评论 -
项目记录-凸包修正
圆的凸包修正思路:依据圆形边界上各点的坐标容易算出圆的外围矩形的左上角顶点O的坐标(lx, ly)以O点为原点,重新给所有点进行排序,排序的规则如下: OA方向越靠近垂直方向,则排序越靠前; 如果OA和OB在一条直线上,则比较|OA|和|OB|的大小,如果|OA|小,A距离O点更近,则A排序靠前。(更理论的说法是依据极坐标系下的坐标值进行排序,具体如下:以O点为原点,创建极坐标系,对圆上每个点,原创 2017-05-13 16:27:00 · 402 阅读 · 0 评论 -
项目记录-处理两个相交圆方法探索2
问题: 原图中存在两个部分重叠的圆,多余的圆会影响边缘提取的正确度,所以需要从边缘中去掉另一个交叠圆上的点。方法: 使用之前的方法还存在一个隐蔽的问题是,之前的方法假设了边缘上的第一个点绝对是正确的。 但是在实际情况中,第一个点不一定可以作为正确点。所以在之前的方法的基础上还要做一 下改进。 代码中标记圆弧进入哪一段的标记变量Label的变化情况主要有以下三种, 1)label从1变为2原创 2017-04-26 20:36:07 · 498 阅读 · 0 评论 -
项目记录-处理两个相交圆方法探索1
问题: 原图中存在两个部分重叠的圆,多余的圆会影响边缘提取的正确度,所以需要从边缘中去掉另一个交叠圆上的点。 方法: 先使用边缘点计算出新的中心点的坐标B,保留相距中心点的最短距离radius。 如果中心点坐标A和B点的距离超过了radius,则认为当前图中存在两个相交的圆,需要对边 缘做进一步的处理。 依据中心点坐标A得到相对于B点的对称点A’即为交叠圆的圆心。 重新计算所有的边缘点原创 2017-04-26 20:11:39 · 457 阅读 · 0 评论 -
项目记录-圆形边缘修正方法探索2
问题:目前分割得到的圆形边缘和理想边缘相比,部分向外偏离,需要向内收缩 探索方法1: 假设在理想情况下,圆形物体的掩膜是绝对正确的。此时可以遍历当前的边缘点,判断每个边缘点的两侧的掩膜标记是否不同。如果两侧的邻域点掩膜都为0,说明该边缘点偏外,需要向内收缩,使用最近的掩膜点来替换掉越界了的点。 探索方法2: 在前一种方法中,使用最近的掩膜点来替换掉越界了的点,实践效果不理想,下面改进的方法是原创 2017-04-26 19:52:17 · 393 阅读 · 0 评论 -
项目记录-圆形边缘修正方法探索3
问题: 对圆形边缘做完凸包修正之后,得到的是边缘上一堆孤立的点,其中存在一些点偏离了中心较远,需要进行修正。方法:从圆心向每个点移动,只要遇到非mask标记点,则替换当前边界点。结果:实践效果不好,多个孤立点被替换之后,容易重合为同一点。 for(int j=0;j<size;j++) { int sx=centerx-vecResult[j].x;原创 2017-04-26 19:58:41 · 380 阅读 · 0 评论 -
项目记录-圆形边缘修正方法探索1
问题:目前分割得到的圆形边缘和理想边缘相比,部分向外偏离,需要向内收缩探索方法1: 假设在理想情况下,圆形物体的掩膜是绝对正确的。此时可以遍历当前的边缘点,判断每个边缘点的两侧的掩膜标记是否不同。如果两侧的邻域点掩膜都为0,说明该边缘点偏外,需要向内收缩,使用最近的掩膜点来替换掉越界了的点。但是此方法在项目中行不通,因为项目中的掩膜文件是有误差的,不能表示正确的圆形。 下面记录一下此方法的实现代原创 2017-04-26 19:48:53 · 648 阅读 · 0 评论 -
项目记录-处理两个相交圆方法探索3
问题: 原图中存在两个部分重叠的圆,多余的圆会影响边缘提取的正确度,所以需要从边缘中去掉另一个交叠圆上的点。 方法: 使用之前的方法删除错误的边缘点之后,余下的点中还存在偏离的点需要进一步修正。 由于边界的起点不一定正确,所以先遍历边界点,找出离中心最近的点,从该点出发来查找待 修正的点。 判断是否需要修正的条件: 1)如果当前点和前面一个点相距太大,则当前点需要向中心点平移一段距离才原创 2017-04-26 20:48:10 · 432 阅读 · 0 评论