基于opencv采用C++或Java语言选择一个二值图像骨架提取算法实现并对实验结果进行评价。

以上是题目,我没学过c++,只学过c和javaSE。
请问用java语言可以实现二值图像(只有两种颜色的图像)的骨架提取吗?
如果可以,请说一下大概的方法。
回答之后会再追加分数的

这和什么语言没关系。如果想用现成的你可以到directory.fsf.org下载gimp,有很多图像处理工具的源代码可以使用,包括C,C++和java。

如果纯粹是你个人想尝试一下,那么这里纯粹是算法的问题。任何图像都是以矩阵方式存储的,不论是文件形式和内存形式。处理之前你首先要清楚这个矩阵的大小,尺寸,每个字节对应为止的像素含义。搞清楚之后,才是算法操作。我理解你的“骨架提取”就是将位图向量化的过程,简单的说,就是由点阵转换为一系列直线,并记录每段直线的起点和终点,甚至转换为连续直线、贝泽尔曲线,或者圆弧。这是个非常高级的数学问题,并不是所有的位图都有解,这也是为什么像手写笔识别、脸谱识别和车牌识别迄今为止尚有一些误差,不可能做到100%成功,识别的过程采用了人工神经网络、前馈网络、多层网络等相当水平的数学方法。举个例子来说,如果你偶尔看到了某个医生的处方,可能只能勉强认出一部分文字,这就是为什么说不是所有位图都有解的一个最简单的解释。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-20
期待c语言回答
第2个回答  2012-03-24
骨架提取是边缘提取吗?