山东大学暑期项目实训(二)
由于数据集的问题,我们的分工并不是非常的清晰。数据集没有到手之前,并不好对症下药的处理,不过今天我们确定的是,我们小组将细化到对数据集进行分类提取的职责。具体是将数据集图像做去噪然后二值化,利用腐蚀和膨胀或者函数拟合等手段,尽量地还原数据集的信息。
参考甲骨文识别文献,寻找处理方法和思路
我主要参考的文章是这篇link
其中我最主要想要的是一个效果比较好的去噪和二值化的方法。我注意到的是该文章中顾邵通顾先生的方法,利用自适应阈值的去噪处理。
略修过一点数字图像处理的我,印象中似乎并没有接触到这个算法,只得参考百度。
自适应阈值二值化
了解后发现并不复杂,自适应阈值,该值是作为一个二值化的分界值,二值化是对图像的处理,将其从彩色图像转换为黑白的图像。那么如何得到想要区域的二值图,并且去除噪音,就需要对阈值下功夫。
首先是全局阈值,对整个图像求出阈值,再对所有图像进行比较二值化。这样做并不是很准确。
所以引入自适应阈值的方法,一个像素点的二值化阈值,是根据其附近邻域点所求出的阈值来判断。这样就比较好的区分噪音和目标区域的阈值,能够得到更好的结果。那么问题的关键就是在于如何高明的算法来求出适合图像的阈值。
顾先生的想法是甲骨拓片的噪音,大概满足正态分布的特点,以此建立数学模型,尽量的来逼近阈值。看完后我直接痛泣我贫瘠的数学水平,根本看不懂这个方法。后来发现前面复杂的公式是为了推导这个优化的阈值的表达式,后面是估计方法,结果我仍是不太明白这些参数的意义。只得暂时作罢。
于是我开始参考网上的一些自适应阈值算法link,发现python上的opencv库已经实现了该函数,于是开始测试这些函数。一开始的效果并不是很好,参考数据集的目标不明显,区域小,直接被当做噪音被去除了,后来选用比较好一点图片进行测试,同时开始了解参数的意义,更改参数
对于其第五个参数一开始为3,我个人觉得这个值太低,适当加大后效果果然有了比较明显的改善。
但是由于仍没有拿到数据集,这些方法并没有得到很好的实施。