使用图算法计算一张图片内有多少个包围图形

感觉一次就填充完了,好像确实是哪里没有被标记上 :thinking:

谢谢大佬夸奖,我再检查下这里 :smile:

按道理还有一个状态标记,已遍历过,
其实可以共用visited,你可设个其他值,
1,已遍历,透明
2,己遍历,不透明

1赞

这个下一步应该要用到,我先把现在的问题解决,谢谢大佬 :smile:

算法没问题,效率可优化,结果不对是图的原因。这个算法是查找连续不透明区的数量。图按算法走应该是黑线是透明的,其它区域是有颜色的

对了,或者把算法的透明判定取反也行。

这就是es6,es7的写法,没什么花的。。

没懂你的点在哪里?难道你是楼主的同事?

并不是,我不认识这位老哥 :joy:

取反是可以的!!!但是还要看看细节,我用简单的形状拼了张图算出来的色块是对的,但是美术给的图复杂一点算出来就会多出来一些

效率确实是可以优化的,我先把功能实现 :smiley:

老哥,这是用python切图嘛,我得用cocos写嘞~

多写几种遍历算法挺好,有用得上地方,操控自如

大哥,算法看着没问题啊, 会不会是美术的图有问题,
建议你在floodFill方法里, visisted =1, 的时候, 记录一下自增;
输出x,y这个点填充出来的图形是几个像素,
我怀疑是美术边界没处理好的独立像素被计算进去咯,

0 0 0 0 1 1
0 0 0 1 0 1
0 0 0 0 0 0
0 0 0 0 0 0

图有问题,多一像素半透明的都不行,会成为孤立点使结果增加,或者调整一下透明度的容差

我在上面老哥的建议下把透明度判定取反后在简单图形上是可以的,但是美术给的图算出来的就是有问题的,还在和美术沟通中~~~ 使用图算法计算一张图片内有多少个包围图形

这个容差我还在调整,目前是10以内的透明像素都算作透明

ni zai b b b b, b ge sha

大哥你在论坛横着走,是不是没本喷过啊,
你猜我要不要惯着你