本来一个很简单的图像处理程序,可就是有逻辑错误,得不到自己想到的结果。害得自己浪费了一个下午加一个晚上的时间来找BUG。
结果,最后定位到自己从《图像编程精髓:从开发自己的Photoshop开始》移植过来的一个算法——区域查找算法。如图是它自带的软件PhotoSprite的区域查找结果,可见其中有异常明显的错误,怎么会存在面积为1的区域呢?????并且那个面积39也是错的,真想骂人~~~~
将其具体的数据保存成文本如下,
如此,可见面积1,和面积39是怎么算来的了。也可以大概猜出它的算法大概出在什么地方——最右边没有考虑完善。
咦~~ 最近在看《Unix编程艺术》其中提到不要重复造轮子,可是,遇到这种情况怎么不让人蛋疼呢??
自己再次对国人所写的书表达怀疑了;再者,书一定得选专业的,上面提到这本书的作者是写C#程序,根本谈不上精通图像处理,只不过用C#写了几个图片处理的例子。
尽信书,不如无书~