C++ 如何获取(平假名)字符的笔划数?

C++ 如何获取(平假名)字符的笔划数?,c++,opencv,feature-detection,feature-extraction,C++,Opencv,Feature Detection,Feature Extraction,我有一组平假名字符,我想数一数笔画的数量 我的输入图像如下所示: ma字符: 字符库: 输出将是笔划数,例如,字符ma将返回3个笔划: 字符ku将返回一个笔划: 我试过Canny、Hough和Skeletonization。它没有给我想要的 我想数一数连续的线,但我不知道怎么数一数。我发现这个问题的答案是找到一个圆的不连续性,但它只适用于圆 被声明为一个垫子。我使用C++、Visual Studio 2013、GCC 4.83.和OpenCV2.4.9[] /P> 提前谢谢。显然,这个问题没有一

我有一组平假名字符,我想数一数笔画的数量

我的输入图像如下所示:

ma字符:

字符库:

输出将是笔划数,例如,字符ma将返回3个笔划:

字符ku将返回一个笔划:

我试过Canny、Hough和Skeletonization。它没有给我想要的

我想数一数连续的线,但我不知道怎么数一数。我发现这个问题的答案是找到一个圆的不连续性,但它只适用于圆

<图像>被声明为一个垫子。我使用C++、Visual Studio 2013、GCC 4.83.和OpenCV2.4.9[] /P>
提前谢谢。

显然,这个问题没有一个答案。但是,您可以使用一些启发式方法

一个选项是检测和计算笔划笔尖的数量。笔划的数量大约为CEIL/2

如果s是偶数,这是一个似是而非的近似值。 如果s是奇数,您必须弄清楚它对您的应用程序意味着什么。
当然,像A这样的字母只有两个提示,还有第二个内线。如果在平假名也发生这种情况,你必须寻找连接点,并从那里找出你的启发式方法。

所以这个问题有几个部分。一个是获取线条,第二个是处理线条以计算笔划的数量。Canny、Hough和Skeletonization以何种方式无法获得线条数或将图像分解为一组线条?@mprat我想我无法获得Canny、Hough和Skeletonization的正确参数组合,而这些参数并没有给出我想要的结果。不过我仍然愿意使用这些。