一种猪肠上皮损伤修复图像识别方法及系统

文档序号:26855678发布日期:2021-10-09 03:49阅读:108来源:国知局
一种猪肠上皮损伤修复图像识别方法及系统

1.本公开属于计算机视觉、图像处理技术、数据分析技术领域,具体涉及一种猪肠上皮损伤修复图像识别方法及系统。


背景技术:

2.目前,肠道系统具有机体最大的黏膜表面,由能够持续自我更新的单层肠上皮细胞构成,是肠道微环境和黏膜免疫系统之间的屏障,一定程度上保护机体免受肠道内有毒物质和外界环境的伤害。其采样图像的一般流程是对猪小肠段进行切片以bouin氏液固定,石蜡包埋,苏木精

伊红染色(he染色),在显微镜下采集切片图像,可见到小肠的腔面有小肠绒毛的纵断面形成的指状突起,其表面覆盖着一层柱状上皮细胞,在细胞的游离面(朝向肠腔的一面)上,在显微镜下可见到一薄层红染的柱状细胞表面常附有特殊结构称纹状缘,纹状缘是指在光镜下看小肠上皮吸收细胞游离面的形态,类似波纹状的边缘,在电镜下看它们是由密集而规则排列的微绒毛构成的如同波纹的边缘;细胞的基底面与基膜相接,基膜的下方为结缔组织,由于柱状细胞排列紧密,细胞的高度大于宽度,细胞界限不太清晰,并且由于光照条件、染色条件等原因经常导致采集到的图像中的纹状缘相互重叠、粘连等问题,多个纹状缘互相之间重叠会严重的影响后续的统计分析,并且导致根据纹状缘构建的用于做动物实验用的肠上皮损伤修复模型出现严重误差,因此,这就成为猪肠上皮图像处理中必须解决的问题。


技术实现要素:

3.本发明的目的在于提出一种猪肠上皮损伤修复图像识别方法及系统,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
4.为了实现上述目的,根据本公开的一方面,提供一种猪肠上皮损伤修复图像识别方法,所述方法包括以下步骤:s100,获取猪小肠切片的tem图像;s200,对tem图像进行灰度化得到灰度图像;s300,通过分水岭算法对灰度图像进行边界检测得到多个边缘线;s400,识别并标记出各个边缘线中的纹状缘获得纹状缘集合;s500,标记出纹状缘集合中的各个纹状缘中不清晰的纹状缘;s600,将纹状缘集合中标记为不清晰的纹状缘修复为修复的纹状缘,由各个修复的纹状缘构成修复纹状缘集合;s700,根据修复纹状缘集合中各个修复的纹状缘的位置标记出tem图像上的纹状缘区域。
5.进一步地,在s100中,获取猪小肠切片的tem图像的方法为:对猪小肠进行切片以bouin氏液固定,石蜡包埋,苏木精

伊红染色,在显微镜下成像从而采集切片图像作为tem图像,所述显微镜为具有明场拍照功能的普通光学显微镜、全内反射荧光显微镜、紫外光显
微镜等中任意一种。
6.进一步地,在s400中,识别并标记出各个边缘线中的纹状缘获得纹状缘集合的方法为:由于纹状缘在图像中就是一条连续的边缘线,纹状缘的灰度值与周边的像素点的灰度值差异较大所以需要经过以下方法筛选出来;s401,令所有边缘线的集合为b1,b1={b1
i1
},其中,b1
i1
为集合b1中第i1个边缘线;设置i1的初始值为1,i1∈[1,n1],n1为集合b1中元素的数量,设置一个空的集合作为纹状缘集合;s402,获取边缘线b1
i1
上像素点的数量为n2,设置变量j1初始值为1,j1∈[1,n2];计算边缘线b1
i1
上所有的像素点平均灰度值为havg1;s403,若边缘线b1
i1
上第j1个像素点的坐标为(x1,y1),h(x1,y1)是坐标(x1,y1)处像素点的灰度值,搜索(x1,y1)处像素点的八邻域中像素值或者灰度值最大的点得到点maxne;s404,由(x1,y1)处像素点与点maxne之间连线得到直线l,令沿着直线l由坐标(x1,y1)处像素点到点maxne的方向上的直线l在点maxne处像素点的下一个像素点的灰度值为h1,令沿着直线l由点maxne到坐标(x1,y1)处像素点的方向上的直线l在坐标(x1,y1)处像素点的下一个像素点的灰度值为h2;如果h1<h2则令直线l上由坐标(x1,y1)处像素点到点maxne的方向为l的正向,点maxne到坐标(x1,y1)处像素点的方向为l的反向,否则,则令直线l上由坐标(x1,y1)处像素点到点maxne的方向为l的反向,点maxne到坐标(x1,y1)处像素点为l的正向;(纹状缘内部的灰度值比外部像素的灰度值大);s405,从坐标(x1,y1)处的像素点开始,沿着直线l的正向搜索像素点的灰度值h3满足区分条件的首个像素点作为点p1,沿着直线l的反向搜索像素点的灰度值h3满足区分条件的首个像素点作为点p2;如果直线l的正向或者反向上没有满足区分条件的像素点,则以直线l与灰度图像的图像边界(图像边界为图像的最外侧的一圈的像素点)的两个交点的像素点作为点p1和点p2;令点p1的坐标与坐标(x1,y1)的欧式距离值为p1距离,点p2的坐标与坐标(x1,y1)的欧式距离值为p2距离,若p1距离<p2距离则以像素点p1作为对比像素点p3,否则以像素点p2作为对比像素点p3;计算直线l上坐标(x1,y1)处的像素点到p3的线段上所有像素点的平均值havg2;其中,区分条件为minh(b1
i1
)≤h3≤maxh(b1
i1
) ,maxh(b1
i1
)为边缘线b1
i1
上所有的像素点的灰度值中最大的灰度值,minh(b1
i1
)为边缘线b1
i1
上所有的像素点的灰度值中最小的灰度值;s406,若边缘线b1
i1
上第j1个像素点的灰度值h(x1,y1)在直线l的正向上满足条件1或者在直线l的反向上满足条件2则标记边缘线b1
i1
上第j1个像素点为纹状缘点,即灰度值h(x1,y1)需满足条件1或者条件2;(由于纹状缘的两侧像素的灰度值差异极大,因此需要通过条件1或条件2来识别出纹状缘上的点);条件1为:;其中,m1为点p3在灰度图像的图像矩阵的行数,n1为点p3在灰度图像的图像矩阵
的列数;其中,u1= min(x1, m1);v1= min(y1, n1);其中,u=min(x1, m1)+|x1

m1|;v= min(y1, n1)+| y1

n1|;min(x1, m1)为取x1和m1中的较小值;min(y1, n1)为取y1和n1中的较小值;h(i2,j2)是坐标(i2,j2)处像素点的灰度值,i2和j2为变量;条件2为:;s407,如果j1≤n2则令j1的值增加1并且转到步骤s403,否则判断边缘线b1
i1
上标记有纹状缘点的像素点的数量是否超过设定的纹状缘点阈值,如果是则将边缘线b1
i1
标记为纹状缘并且加入到纹状缘集合中并转到步骤s408;纹状缘点阈值设置为n2的[0.4,0.8]倍;s408,如果i1≤n1则令i1的值增加1并且转到步骤s402,否则转到步骤s409;s409,获得纹状缘集合。
[0007]
进一步地,在s500中,标记出纹状缘集合中的各个纹状缘中不清晰的纹状缘的方法为:分别计算纹状缘集合中所有纹状缘的清晰尺度值cle,cle的计算方法为:;其中,r(k2)为纹状缘上第k2个像素点的灰度导向值,k2∈[1, n4],n4为纹状缘上像素点的数量;纹状缘上第k2个像素点的灰度导向值r(k2)的计算方法为:;其中,纹状缘上第k2个像素点的坐标为(x2,y2),h(x2,y2)是坐标为(x2,y2)处像素点的灰度值,即h(x2,y2)是纹状缘上第k2个像素点的灰度值,h(x2

1,y2)是坐标为(x2

1,y2)处像素点的灰度值,h(x2+1,y2)是坐标为(x2+1,y2)处像素点的灰度值,h(x2,y2+1)是坐标为(x2,y2+1)处像素点的灰度值,h(x2,y2

1)是坐标为(x2,y2

1)处像素点的灰度值;令所有纹状缘的清晰尺度值cle的算术平均值为cle_ave,在纹状缘集合中标记所有清晰尺度值cle<cle_ave的纹状缘为不清晰的纹状缘。
[0008]
进一步地,在s600中,将纹状缘集合中标记为不清晰的纹状缘修复为修复的纹状缘,由各个修复的纹状缘构成修复纹状缘集合的方法为:s601,设gmax为不清晰的纹状缘的各像素点的灰度值中最大的灰度值,gmin为不清晰的纹状缘的各像素点的灰度值中最小的灰度值;计算不清晰的纹状缘上所有的像素点的平均灰度值为gmean;依次遍历不清晰的纹状缘的各像素点,当遍历到的不清晰的纹状缘中坐标为(x3,y3)的像素点的灰度值h(x3,y3)处于以下范围:gmin≤h(x3,y3)<gmean,则通过或者
将不清晰的纹状缘中坐标为(x3,y3)的像素点的灰度值从h(x3,y3)变换为ch(x3,y3),其中,ch(x3,y3)为坐标为(x3,y3)的像素点强化后的灰度值;当遍历到的不清晰的纹状缘中坐标为(x4,y4)的像素点的灰度值h(x4,y4)处于以下范围gmean≤h(x4,y4)≤gmax中,通过或者将不清晰的纹状缘中坐标为(x4,y4)的像素点的灰度值从h(x4,y4)变换为ch(x4,y4),其中,ch(x3,y3)为强化后的h(x3,y3);将不清晰的纹状缘中各个(x3,y3)像素点处理为ch(x3,y3),将不清晰的纹状缘中各个(x4,y4)像素点处理为ch(x4,y4),从而得到修复的纹状缘,将所有修复的纹状缘构成的集合作为修复纹状缘集合。
[0009]
优选地,在s600中,将纹状缘集合中标记为不清晰的纹状缘修复为修复的纹状缘,由各个修复的纹状缘构成修复纹状缘集合的方法还可以为以下步骤:设gmax为不清晰的纹状缘的各像素点的灰度值中最大的灰度值,gmin为不清晰的纹状缘的各像素点的灰度值中最小的灰度值;计算不清晰的纹状缘上所有的像素点的平均灰度值为gmean;标记出不清晰的纹状缘上的像素点中所有灰度值大于等于gmean且小于等于gmax的像素点为粘连像素点,以不清晰的纹状缘上除粘连像素点之外的像素点为普通像素点,依次遍历不清晰的纹状缘上的普通像素点,将不清晰的纹状缘上所有以粘连像素点分隔开的各个连续的普通像素点构成的曲线段作为第一曲线段,将所有两个端点之间的欧氏距离大于3个像素的第一曲线段标记为普通曲线段;取两个端点之间的欧氏距离的值最小的普通曲线段作为阈值曲线段,取阈值曲线段的两个端点之间的欧氏距离作为筛选阈值th;依次遍历不清晰的纹状缘上的粘连像素点,将不清晰的纹状缘上所有以普通像素点分隔开的各个连续的粘连像素点构成的曲线段作为第二曲线段,将所有两个端点之间的欧氏距离的值大于阈值th的第二曲线段标记为粘连曲线段,通过曲线相似度的算法计算粘连曲线段与各个普通曲线段之间的相似度;获取并复制相似度最高的普通曲线段作为粘连曲线段的代替线段;令粘连曲线段两个端点之间的欧氏距离的值为ds1;以代替线段两个端点之间的欧氏距离的值为ds2;将连接粘连曲线段的两个端点得到的直线作为第一基准直线lv1,将连接代替线段的两个端点得到的直线作为第二基准直线lv2,以lv1与lv2的夹角作为角度ag1;当ds1等于ds2时,将代替线段朝着从lv2到lv1的方向整体旋转角度ag1,将旋转后的代替线段移位到的两个端点与粘连曲线段的两个端点重合的对应位置,并删除粘连曲线段,以代替线段替代粘连曲线段得到修复的纹状缘;其中,将代替线段朝着从lv2到lv1的方向整体旋转角度ag1的具体意义为:如果lv2朝顺时针方向旋转角度ag1能与lv1重合,则将代替线段朝着顺时针方向旋转角度ag1;如果lv2朝逆时针方向旋转角度ag1能与lv1重合,则将代替线段朝着逆时针方向旋转角度ag1;当ds1小于ds2时,取代替线段的两个端点中的任意一个端点作为基准端点v1;在替代线段上搜索像素点v2使得v1和v2之间的欧氏距离的值为ds1从而得到点v2,在代替线
段上截取端点v1和端点v2之间的曲线段作为第一补充线段,将连接第一补充线段两个端点得到的直线作为第三基准直线lv3,计算lv1与lv3的夹角作为角度ag2,将第一补充线段朝着从lv3到lv1的方向整体旋转角度ag2,将第一补充线段移动位置到第一补充线段的两个端点与粘连曲线段的两个端点重合的对应位置,并删除粘连曲线段,从而以第一补充线段替代粘连曲线段得到修复的纹状缘;其中,将第一补充线段朝着从lv3到lv1的方向整体旋转角度ag2的具体意义为:如果lv3朝顺时针方向旋转角度ag2能与lv1重合,则将第一补充线段朝着顺时针方向旋转角度ag2;如果lv3朝逆时针方向旋转角度ag2能与lv1重合,则将第一补充线段朝着逆时针方向旋转角度ag2;当ds1大于ds2时,将代替线段朝着从lv2到lv1的方向整体旋转角度ag1,将代替线段的任意一个端点作为连接端点,将代替线段移动到连接端点与粘连曲线段的其中一个端点重合的对应位置并且代替线段的另一个端点与粘连曲线段的欧氏距离小于ds1,从而得到代替线段和粘连曲线段得到的拼合曲线段,则此时由于代替线段的长度不够,除连接端点外的代替线段的另一个端点无法与粘连曲线段的端点重合;以除连接端点外的拼合曲线段中的代替线段的另一个端点作为扩展端点v3;以拼合曲线段中的粘连曲线段上没有与代替线段连接的端点作为待连接端点v4;以扩展端点v3和待连接端点v4之间的欧氏距离的值为ds3;在拼合曲线段上搜索像素点v5使得扩展端点v3和点v5之间的欧氏距离的值为ds3从而得到点v5,在拼合曲线段上复制点v3和点v5之间的曲线段作为第二补充线段,将连接第二补充线段两个端点得到的直线作为第四基准直线lv4,将连接扩展端点v3和待连接端点v4得到的直线作为第五基准直线lv5,以lv4与lv5的夹角作为角度ag3,将第二补充线段朝着从lv4与lv5的方向整体旋转角度ag3,将第二补充线段移动位置到第二补充线段的两个端点中的一个与扩展端点v3的位置重合,将另一个与待连接端点v4的位置重合,从而得到修复的纹状缘;其中,将第二补充线段朝着从lv4与lv5的方向整体旋转角度ag3的具体意义为:如果lv4朝顺时针方向旋转角度ag3能与lv5重合,则将第二补充线段朝着顺时针方向旋转角度ag2;如果lv4朝逆时针方向旋转角度ag3能与lv5重合,则将第二补充线段朝着逆时针方向旋转角度ag3;优选地,得到修复的纹状缘后还需要删除粘连曲线段。
[0010]
当没有代替线段时,连接纹状缘上的粘连曲线段两个端点获得第三补充线段,并删除粘连曲线段,以第三补充线段替代粘连曲线段,得到修复的纹状缘;将所有修复的纹状缘构成的集合作为修复纹状缘集合。
[0011]
其中,曲线相似度的算法至少包括frechet距离算法、hausdorff距离匹配算法中任意一种。
[0012]
本发明还提供了一种猪肠上皮损伤修复图像识别系统,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下系统的单元中:tem图像采集单元,用于获取猪小肠切片的tem图像;图像灰度化单元,用于对tem图像进行灰度化得到灰度图像;边界检测单元,用于通过分水岭算法对灰度图像进行边界检测得到多个边缘线;
纹状缘识别单元,用于识别并标记出各个边缘线中的纹状缘获得纹状缘集合;不清晰标记单元,用于标记出纹状缘集合中的各个纹状缘中不清晰的纹状缘;纹状缘修复单元,用于将纹状缘集合中标记为不清晰的纹状缘修复为修复的纹状缘,由各个修复的纹状缘构成修复纹状缘集合;纹状缘标记单元,用于根据修复纹状缘集合中各个修复的纹状缘的位置标记出tem图像上的纹状缘区域。
[0013]
本公开的有益效果为:本发明提供一种猪肠上皮损伤修复图像识别方法及系统,能够解决猪肠上皮细胞之间界限不太清晰、纹状缘相互重叠、粘连等问题,提高纹状缘的识别率和清晰度,使得后续的统计分析和做动物实验用的肠上皮损伤修复模型减少误差,提高统计结果的准确性。
附图说明
[0014]
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:图1所示为一种猪肠上皮损伤修复图像识别方法的流程图;图2所示为一种猪肠上皮损伤修复图像识别系统结构图。
具体实施方式
[0015]
以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0016]
如图1所示为一种猪肠上皮损伤修复图像识别方法的流程图,下面结合图1来阐述根据本发明的实施方式的一种猪肠上皮损伤修复图像识别方法,所述方法包括以下步骤:s100,获取猪小肠切片的tem图像;s200,对tem图像进行灰度化得到灰度图像;s300,通过分水岭算法对灰度图像进行边界检测得到多个边缘线;s400,识别并标记出各个边缘线中的纹状缘获得纹状缘集合;s500,标记出纹状缘集合中的各个纹状缘中不清晰的纹状缘;s600,将纹状缘集合中标记为不清晰的纹状缘修复为修复的纹状缘,由各个修复的纹状缘构成修复纹状缘集合;s700,根据修复纹状缘集合中各个修复的纹状缘的位置标记出tem图像上的纹状缘区域。
[0017]
进一步地,在s100中,获取猪小肠切片的tem图像的方法为:对猪小肠进行切片以bouin氏液固定,石蜡包埋,苏木精

伊红染色,在显微镜下成像从而采集切片图像作为tem图像,所述显微镜为具有明场拍照功能的普通光学显微镜、全内反射荧光显微镜、紫外光显微镜等中任意一种。
[0018]
进一步地,在s400中,识别并标记出各个边缘线中的纹状缘获得纹状缘集合的方
法为:由于纹状缘在图像中就是一条连续的边缘线,纹状缘的灰度值与周边的像素点的灰度值差异较大所以需要经过以下方法筛选出来;s401,令所有边缘线的集合为b1,b1={b1
i1
},其中,b1
i1
为集合b1中第i1个边缘线;设置i1的初始值为1,i1∈[1,n1],n1为集合b1中元素的数量,设置一个空的集合作为纹状缘集合;s402,获取边缘线b1
i1
上像素点的数量为n2,设置变量j1初始值为1,j1∈[1,n2];计算边缘线b1
i1
上所有的像素点平均灰度值为havg1;s403,若边缘线b1
i1
上第j1个像素点的坐标为(x1,y1),h(x1,y1)是坐标(x1,y1)处像素点的灰度值,搜索(x1,y1)处像素点的八邻域中像素值或者灰度值最大的点得到点maxne;s404,由(x1,y1)处像素点与点maxne之间连线得到直线l,令沿着直线l由坐标(x1,y1)处像素点到点maxne的方向上的直线l在点maxne处像素点的下一个像素点的灰度值为h1,(如果点maxne处像素点的下一个像素点是图像边界或者无下一个像素点,则随机获取点maxne的八邻域中任意一个像素点的灰度值为h1),令沿着直线l由点maxne到坐标(x1,y1)处像素点的方向上的直线l在坐标(x1,y1)处像素点的下一个像素点的灰度值为h2,(如果坐标(x1,y1)处像素点的下一个像素点是图像边界或者无下一个像素点,则随机获取坐标(x1,y1)处像素点的八邻域中任意一个像素点的灰度值为h2);如果h1<h2则令直线l上由坐标(x1,y1)处像素点到点maxne的方向为l的正向,点maxne到坐标(x1,y1)处像素点为l的反向,否则,则令直线l上由坐标(x1,y1)处像素点到点maxne的方向为l的反向,点maxne到坐标(x1,y1)处像素点为l的正向;(纹状缘内部的灰度值比外部像素的灰度值大);s405,分别从坐标(x1,y1)处的像素点开始,沿着直线l的正向搜索像素点的灰度值h3满足条件minh(b1
i1
)≤h3≤maxh(b1
i1
)的首个像素点作为点p1,沿着直线l的反向搜索像素点的灰度值h3满足条件minh(b1
i1
)≤h3≤maxh(b1
i1
)的首个像素点作为点p2;如果正向或者反向无满足条件minh(b1
i1
)≤h3≤maxh(b1
i1
)的像素点,则以灰度图像上沿着直线l的正向和反向与边界的两个交点的像素点作为p1与p2;令p1的坐标与坐标(x1,y1)的欧式距离值为p1距离,p2的坐标与坐标(x1,y1)的欧式距离值为p2距离,若p1距离<p2距离则以p1像素点作为对比像素点p3,否则以p2像素点作为对比像素点p3;计算直线l上坐标(x1,y1)处的像素点到p3的线段上所有像素点的平均值havg2;其中,minh(b1
i1
)为边缘线b1
i1
上所有的像素点的灰度值中最小的灰度值;maxh(b1
i1
)为边缘线b1
i1
上所有的像素点的灰度值中最大的灰度值;s406,若边缘线b1
i1
上第j1个像素点的灰度值h(x1,y1)在直线l的正向上满足条件1或者在直线l的反向上满足条件2则标记边缘线b1
i1
上第j1个像素点为纹状缘点,即灰度值h(x1,y1)需满足条件1或者条件2;条件1为:;其中,m1为点p3在灰度图像的图像矩阵的行数,n1为点p3在灰度图像的图像矩阵
的列数;其中,u1= min(x1, m1);v1= min(y1, n1);其中,u=min(x1, m1)+|x1

m1|;v= min(y1, n1)+| y1

n1|;min(x1, m1)为取x1和m1中的较小值;min(y1, n1)为取y1和n1中的较小值;h(i2,j2)是坐标(i2,j2)处像素点的灰度值,i2和j2为变量;条件2为:;s407,如果j1≤n2则令j1的值增加1并且转到步骤s403,否则判断边缘线b1
i1
上标记有纹状缘点的像素点的数量是否超过设定的纹状缘点阈值,如果是则将边缘线b1
i1
标记为纹状缘并且加入到纹状缘集合中并转到步骤s408;纹状缘点阈值设置为n2的[0.4,0.8]倍;s408,如果i1≤n1则令i1的值增加1并且转到步骤s402,否则转到步骤s409;s409,获得纹状缘集合。
[0019]
进一步地,在s500中,标记出纹状缘集合中的各个纹状缘中不清晰的纹状缘的方法为:分别计算纹状缘集合中所有纹状缘的清晰尺度值cle,cle的计算方法为:;其中,r(k2)为纹状缘上第k2个像素点的灰度导向值,k2∈[1, n4],n4为纹状缘上像素点的数量;纹状缘上第k2个像素点的灰度导向值r(k2)的计算方法为:;其中,纹状缘上第k2个像素点的坐标为(x2,y2),h(x2,y2)是坐标为(x2,y2)处像素点的灰度值,即h(x2,y2)是纹状缘上第k2个像素点的灰度值,h(x2

1,y2)是坐标为(x2

1,y2)处像素点的灰度值,h(x2+1,y2)是坐标为(x2+1,y2)处像素点的灰度值,h(x2,y2+1)是坐标为(x2,y2+1)处像素点的灰度值,h(x2,y2

1)是坐标为(x2,y2

1)处像素点的灰度值;令所有纹状缘的清晰尺度值cle的算术平均值为cle_ave,在纹状缘集合中标记所有清晰尺度值cle<cle_ave的纹状缘为不清晰的纹状缘。
[0020]
进一步地,在s600中,将纹状缘集合中标记为不清晰的纹状缘修复为修复的纹状缘,由各个修复的纹状缘构成修复纹状缘集合的方法为:s601,设gmax为不清晰的纹状缘的各像素点的灰度值中最大的灰度值,gmin为不清晰的纹状缘的各像素点的灰度值中最小的灰度值;计算不清晰的纹状缘上所有的像素点的平均灰度值为gmean;依次遍历不清晰的纹状缘的各像素点,当遍历到的不清晰的纹状缘中坐标为(x3,y3)的像素点的灰度值h(x3,y3)处于以下范围:gmin≤h(x3,y3)<gmean,则通过或者将不清晰的纹状缘中坐标为(x3,y3)的像素点的灰度值从h(x3,y3)变换为ch(x3,y3),其中,ch
(x3,y3)为坐标为(x3,y3)的像素点强化后的灰度值;当遍历到的不清晰的纹状缘中坐标为(x4,y4)的像素点的灰度值h(x4,y4)处于以下范围gmean≤h(x4,y4)≤gmax中,通过或者将不清晰的纹状缘中坐标为(x4,y4)的像素点的灰度值从h(x4,y4)变换为ch(x4,y4),其中,ch(x3,y3)为强化后的h(x3,y3);将不清晰的纹状缘中各个(x3,y3)像素点处理为ch(x3,y3),将不清晰的纹状缘中各个(x4,y4)像素点处理为ch(x4,y4),从而得到修复的纹状缘,将所有修复的纹状缘构成的集合作为修复纹状缘集合。
[0021]
优选地,在s600中,将纹状缘集合中标记为不清晰的纹状缘修复为修复的纹状缘,由各个修复的纹状缘构成修复纹状缘集合的方法还可以为以下步骤:设gmax为不清晰的纹状缘的各像素点的灰度值中最大的灰度值,gmin为不清晰的纹状缘的各像素点的灰度值中最小的灰度值;计算不清晰的纹状缘上所有的像素点的平均灰度值为gmean;标记出不清晰的纹状缘上的像素点中所有灰度值大于等于gmean且小于等于gmax的像素点为粘连像素点,以不清晰的纹状缘上除粘连像素点之外的像素点为普通像素点,依次遍历不清晰的纹状缘上的普通像素点,将不清晰的纹状缘上所有以粘连像素点分隔开的各个连续的普通像素点构成的曲线段作为第一曲线段,将所有两个端点之间的欧氏距离大于3个像素的第一曲线段标记为普通曲线段;取所有两个端点之间的欧氏距离的值中最小的普通曲线段作为阈值曲线段,取阈值曲线段的两个端点之间的欧氏距离作为筛选阈值th;依次遍历不清晰的纹状缘上的粘连像素点,将不清晰的纹状缘上所有以普通像素点分隔开的各个连续的粘连像素点构成的曲线段作为第二曲线段,将所有两个端点之间的欧氏距离的值大于阈值th的第二曲线段标记为粘连曲线段,通过曲线相似度的算法计算粘连曲线段与各个普通曲线段之间的相似度;获取相似度最高的普通曲线段作为粘连曲线段的代替线段;令粘连曲线段两个端点之间的欧氏距离的值为ds1;以代替线段两个端点之间的欧氏距离的值为ds2;将连接粘连曲线段的两个端点得到的直线作为第一基准直线lv1,将连接代替线段的两个端点得到的直线作为第二基准直线lv2,以lv1与lv2的夹角作为角度ag1;当ds1等于ds2时,将代替线段朝着从lv2到lv1的方向整体旋转角度ag1,将代替线段的两个端点与粘连曲线段的两个端点对应连接,并删除粘连曲线段,以代替线段替代粘连曲线段得到修复的纹状缘;当ds1小于ds2时,取代替线段的两个端点中的任意一个端点作为基准端点v1;在替代线段上搜索像素点v2使得v1和v2之间的欧氏距离的值为ds1从而得到点v2,在代替线段上截取端点v1和端点v2之间的曲线段作为第一补充线段,将连接第一补充线段两个端点得到的直线作为第三基准直线lv3,计算lv1与lv3的夹角作为角度ag2,将第一补充线段朝着从lv3到lv1的方向整体旋转角度ag2,将第一补充线段的两个端点与粘连曲线段的两个端点对应连接,并删除粘连曲线段,从而以第一补充线段替代粘连曲线段得到修复的纹状
缘;当ds1大于ds2时,将代替线段朝着从lv2到lv1的方向整体旋转角度ag1,将代替线段的任意一个端点作为连接端点,将代替线段的连接端点与粘连曲线段的两个端点中任意一个端点连接从而得到代替线段和粘连曲线段得到的拼合曲线段,则此时由于长度不够,除连接端点外的代替线段的另一个端点无法与粘连曲线段的端点连接;以除连接端点外的拼合曲线段中的代替线段的另一个端点作为扩展端点v3;以拼合曲线段中的粘连曲线段上没有与代替线段连接的端点作为待连接端点v4;以扩展端点v3和待连接端点v4之间的欧氏距离的值为ds3;在拼合曲线段上搜索像素点v5使得扩展端点v3和v5之间的欧氏距离的值为ds3从而得到点v5,在拼合曲线段上复制端点v3和端点v5之间的曲线段作为第二补充线段,将连接第二补充线段两个端点得到的直线作为第四基准直线lv4,将连接扩展端点v3和待连接端点v4得到的直线作为第五基准直线lv5,以lv4与lv5的夹角作为角度ag3,将第二补充线段朝着从lv4与lv5的方向整体旋转角度ag3,将第二补充线段的两个端点中的一个与扩展端点v3连接,将另一个与待连接端点v4连接,得到修复的纹状缘;优选地,得到修复的纹状缘后还需要删除粘连曲线段。
[0022]
当没有代替线段时,连接纹状缘上的粘连曲线段两个端点获得修补直线,并删除粘连曲线段,以直线段替代粘连曲线段,得到修复的纹状缘;将所有修复的纹状缘构成的集合作为修复纹状缘集合。
[0023]
其中,曲线相似度的算法至少包括frechet距离算法、hausdorff距离匹配算法中任意一种。
[0024]
优选地,在本公开的实施例中,一种猪肠上皮损伤修复图像识别方法的c++语言的部分关键源代码如下://标记出纹状缘集合中的各个纹状缘中不清晰的纹状缘;drawedgecurve::drawedgecurve(cp2 *p,int ptnum){
ꢀꢀ
for(int i=0;i<ptnum;i++)
ꢀꢀꢀ
{this

>p[i]=p[i];
ꢀꢀꢀ
}n=ptnum

1;};void drawedgecurve::draw(cdc*pdc){
ꢀꢀꢀ
cpen newpen,*poldpen;
ꢀꢀꢀ
newpen.createpen(ps_solid,1,rgb(0,0,255));
ꢀꢀꢀ
poldpen=pdc

>selectobject(&newpen);
ꢀꢀꢀ
pdc

>moveto(round(p[0].x),round(p[0].y));
ꢀꢀꢀ
double tstep=0.01;
ꢀꢀꢀ
for(double t=0.0;t<=1.0;t=t+tstep)
ꢀꢀꢀ
{
ꢀꢀꢀꢀꢀꢀꢀ
double x=0.0,y=0.0;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
for(int i=0;i<=n;i++)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
{
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
x+=p[i].x*r(n,i)*h(t,i)*h(1

t,n

i);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
y+=p[i].y*r(n,i)*h(t,i)*h(1

t,n

i);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
pdc

>lineto(round(x),round(y));
ꢀꢀꢀ
};
ꢀꢀꢀ
pdc

>selectobject(poldpen);
ꢀꢀꢀ
newpen.deleteobject();};//依次遍历不清晰的纹状缘上的粘连像素点;double drawedgecurve::r(const int&n,const int&i){
ꢀꢀꢀ
return(grayvalue(n)/(grayvalue(i)*grayvalue(n

i)));};int drawedgecurve::grayvalue(int n){
ꢀꢀꢀ
int grayvalue;
ꢀꢀꢀ
if(n==0||n==1)
ꢀꢀꢀ
{
ꢀꢀꢀꢀꢀꢀꢀ
grayvalue=1;
ꢀꢀꢀ
}
ꢀꢀꢀ
else
ꢀꢀꢀꢀꢀꢀꢀ
grayvalue=n*grayvalue(n

1);
ꢀꢀꢀ
return grayvalue;};//将纹状缘集合中标记为不清晰的纹状缘进行修复void drawedgecurve::drawcontrolpolygon(cdc *pdc){
ꢀꢀꢀ
cbrush newbrush,*poldbrush;
ꢀꢀꢀ
poldbrush=(cbrush*)pdc

>selectstockobject(black_brush);
ꢀꢀꢀ
pdc

>moveto(round(p[0].x),round(p[0].y));
ꢀꢀꢀ
for(int i=0;i<=n;i++)
ꢀꢀꢀ
{
ꢀꢀꢀꢀꢀꢀ
pdc

>lineto(round(p[i].x),round(p[i].y));pdc

>fix(round(p[i].x)

5,round(p[i].y)

5,round(p[i].x)+5,round(p[i].y)+5);
ꢀꢀꢀ
}
ꢀꢀꢀ
pdc

>selectobject(poldbrush);}。
[0025]
本公开的实施例提供的一种猪肠上皮损伤修复图像识别系统,如图2所示为本公开的一种猪肠上皮损伤修复图像识别系统结构图,该实施例的一种猪肠上皮损伤修复图像
识别系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种猪肠上皮损伤修复图像识别系统实施例中的步骤。
[0026]
所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下系统的单元中:tem图像采集单元,用于获取猪小肠切片的tem图像;图像灰度化单元,用于对tem图像进行灰度化得到灰度图像;边界检测单元,用于通过分水岭算法对灰度图像进行边界检测得到多个边缘线;纹状缘识别单元,用于识别并标记出各个边缘线中的纹状缘获得纹状缘集合;不清晰标记单元,用于标记出纹状缘集合中的各个纹状缘中不清晰的纹状缘;纹状缘修复单元,用于将纹状缘集合中标记为不清晰的纹状缘修复为修复的纹状缘,由各个修复的纹状缘构成修复纹状缘集合;纹状缘标记单元,用于根据修复纹状缘集合中各个修复的纹状缘的位置标记出tem图像上的纹状缘区域。
[0027]
所述一种猪肠上皮损伤修复图像识别系统可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种猪肠上皮损伤修复图像识别系统,可运行的系统可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种猪肠上皮损伤修复图像识别系统的示例,并不构成对一种猪肠上皮损伤修复图像识别系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种猪肠上皮损伤修复图像识别系统还可以包括输入输出设备、网络接入设备、总线等。
[0028]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器 (digital signal processor,dsp)、专用集成电路 (application specific integrated circuit,asic)、现场可编程门阵列 (field

programmable gate array,fpga) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种猪肠上皮损伤修复图像识别系统运行系统的控制中心,利用各种接口和线路连接整个一种猪肠上皮损伤修复图像识别系统可运行系统的各个部分。
[0029]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种猪肠上皮损伤修复图像识别系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital, sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0030]
尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描
述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1