图片中的笔画检测算法,用于检测直线和曲线

问题描述 投票:1回答:1

我正在寻找一种算法,该算法可以检测图片中的所有线条,包括曲线等,因此我可以使用我的软件在绘图程序(如画图)中重画它。现在,我只希望将其重新涂成黑色和白色。我的方法是对图片进行模版制作,然后尝试将所有黑色像素读取为线条,最后进行绘制。行的计算是这样的:

 * for every pixel
 *      Point p = (x, y)
 *      List<Point> line
 *      while p is not marked
 *          mark p
 *          p = adjacent darkest pixel //brightness of a pixel is calculated by pixel luminance divided by 2 + luminance of the 8 adjacent pixels divided by 16
 *          add p to line
 *      end while
 *      draw line
 * end for

我的方法可行,但效果不是很好。一些轮廓被检测为两行。

My approach

您对我的算法有什么改进,还是有更好的算法?

image algorithm image-processing computer-vision detection
1个回答
0
投票
输入图像

结果(反相和非反相版本)

这是Python OpenCV中的实现

cv2.Canny()

© www.soinside.com 2019 - 2024. All rights reserved.