背景:
由于已有的骨刻文图片均为刻在兽骨等上面的大片文字,不符合此项目要求的描绘标准,且采用数字图像处理技术无法准确的识别分辨出单个字符,因此团队在向指导老师请教后,决定首先应该去分割图片使其符合描绘轨迹时要求的图片标准,我主要负责图片的分割工作。故本文主要讲图片分割的过程。
过程:
EM算法:
最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。最大期望经常用在机器学习和计算机视觉的数据聚类(Data Clustering)领域。
最大期望算法经过两个步骤交替进行计算:
1)计算期望(E),利用概率模型参数的现有估计值,计算隐藏变量的期望;
2)最大化(M),利用E 步上求得的隐藏变量的期望,对参数模型进行最大似然估计。
3)M 步上找到的参数估计值被用于下一个 E 步计算中,这个过程不断交替进行。
在和团队成员商讨的过程中,了解到EM算法就是无监督分类的一个算法,正好可以用来分割图片,但是仔细观察图片后,发现众多骨刻文痕迹由于各种原因并不适合用EM算法进行分割,因此采用手工分割图片的方式;
首先,经过小组会议讨论决定,骨刻文的字符图片的大小应该为固定的,便于统一处理,其次由于描绘骨刻文的过程中只需要看出大致轨迹即可,故不需要太高的分辨率,固定为280px*280px
然后确定分割图片的工具,需要满足能够按照指定大小进行图片分割的功能,我用的是FastStone Capture;
初始图片如下:
草根腐蚀痕:
由于草根腐蚀痕以及虫蛀痕的骨刻文图片干扰过多,且图片数量较少,因此没有分割的价值,舍弃;
然后将其他文件夹内的图片进行分割:
命名方式为原文件名+后缀123:
注意图片分割时要注意剔除轨迹过于模糊的图片,因为这种图片用户描绘难度过高,其次大范围混杂在一起的骨刻文也难以分清边界而进行分割,故需要舍弃;
如:;
分割完成后共计1147张图片,然后根据后端同学的要求,图片名字直接使用数字即可,因此需要重命名,用python写了个批量重命名的小程序:
import os
path=input('../pictures/')
#获取该目录下所有文件,存入列表中
f=os.listdir(path)
n=0
for i in f:
#设置旧文件名(就是路径+文件名)
oldname=path+f[n]
#设置新文件名
newname=path+str(n+1)+'.PNG'
#用os模块中的rename方法对文件改名
os.rename(oldname,newname)
# print(oldname,'======>',newname)
n+=1
命名完成后效果如下:
然后交给后端同学,上传服务器。