1.基于动态分配的分水岭图像分割并行方法,其特征在于,所述方法包括以下步骤:步骤1:静态分块及分配,将图像进行初始的静态平均分块,然后平均分配给线程池的并行线程;
步骤11:根据线程数量k,将图像沿长边方向平均分成k个子图,按顺序标记为p0,p1,p2,...,pk-1,构成子图集合{pn|0≤n≤k-1},pn称为基础子图;
步骤12:将k个基础子图分配给k个线程同时进行处理,分配时不设主线程,所有线程地位相同;
步骤13:在将基础子图分配给线程时,同步产生基础子图序映射表;
步骤2:动态分配,动态分配的基本思路是:当某个线程完成分配给它的任务后,则向其他线程请求分配任务并接受另一个没有完成任务的线程分配的额外任务;
步骤21:当一个线程处理完分配的基础子图后,等待并查找是否有还未处理完基础子图的其他线程,如果有,则向其他线程发送分担任务请求并接受其他线程分离的任务,同时更新基础子图序映射表;
步骤22:如果一个线程还有未处理完的基础子图,同时接收到其他线程发送的分担任务请求,并且未处理完基础子图的线程的工作量大于阈值时,则向其他线程分离未处理完的剩余图像;
步骤3:基础子图分水岭分割,对分配到每个线程的基础子图进行分水岭分割;
步骤31:排序,扫描整幅图像得到各个灰度级的概率密度分布情况,根据灰度数据分布的积累概率和像素点的灰度级来确定各个像素点在整个排序中的相对位置,将所有的像素点由低到高进行排序,将排序位置放入排序数组当中;
步骤32:浸没,像素点按照灰度级由低到高的顺序依次进行浸没处理,对相同灰度级的像素点集合做同一灰度级处理,然后扫描当前灰度级的像素点,检验是否还有未经标记的像素点,若发现有未标记的像素点,则将当前的标记值加1,直到所有的灰度层都处理完成;
步骤4:基础子图过分割后处理,本步骤仍然属于基础子图处理,在每个线程中独立处理,采用改进灰度准则,改进灰度准则的基本思路是:通过对小于阈值的小区域的邻域区域之间灰度均值的比较,来判断是否进行合并;
步骤41:找到对图像进行过分割后的小区域的邻域区域,按照邻域区域大小,由小到大依次比较灰度均值,若差值在预设范围内,则进行区域合并;
步骤42:如果找到可以合并的邻域区域,合并后更新新区域的邻域,如果没有找到,继续下一个区域的处理;
步骤5:基础子图边界缝合,采用层叠拼接方式,将待拼接的基础子图进行并行分配;
步骤51:按照基础子图序映射表的顺序,将所有基础子图进行第一轮并行任务分配,每个线程分配偶数个基础子图,若基础子图数为奇数,则留下最后一个等待一下轮合并;
步骤52:每个线程将各自分配的基础子图拼接完成后生成第一轮拼合子图,在此基础上进行第二轮并行任务分配,以此循环直到所有基础子图拼接完成。