gpt4 book ai didi

javascript - 如何将纯黑白图像转换为多边形集合?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:19:55 25 4
gpt4 key购买 nike

我有一堆纯黑白图像,上面有各种文字和形状。我的目标是将每个图像转换成一组围绕黑色区域的多边形(定义为一组顶点)(就像魔术棒工具可以在照片编辑软件中选择区域一样)。

我更愿意用 JavaScript 来实现它,但我最感兴趣的是从概念上讲我如何去做这件事。谢谢!

最佳答案

当只需要扫描周边时,可以产生“右手放在墙上”的算法。

第一步:沿图像向右遍历,找到第一个颜色相反的像素。
第二步:按顺时针顺序搜索当前像素的所有相邻像素。
第 3 步:移动到第一个可用像素。存储像素索引
第四步:重复步骤2-3,直到当前像素为步骤1中的起始像素

第 5 步:从存储的像素中检测图案,例如
运行 LLLLLLLLLL,[左] 向上、向右或向下,

形式的模式

RRRRRRR U RRRRRRR U RRRRRRRR U RRRRRRR U ...
<-N---> <--N--> <--N+1-> <--N-->

可以用一条线建模,尽管做“逆布雷森汉姆”来检测线段的最佳起点和终点并不容易。

无论如何都可以使用蛮力方法从当前像素到前 N 个像素画一条线,并测试 bresenhams 算法是否产生完全相同的像素。

关于javascript - 如何将纯黑白图像转换为多边形集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13154857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com