2026/1/15 3:43:38
网站建设
项目流程
网站移动页面怎么做的,永康网站建设,哈尔滨网站制作招聘,国内最大的网站建设公司排名目录Bug描述代码核查修改验证分析我修改的动机豆包分析原因我的总结Bug描述
接到反馈#xff0c;说我的程序输出影像有空洞#xff0c;如图 arcmap上看白色的区域RGB对应的都是0#xff0c;0#xff0c;0 我想起代码中难道没有进行判断#xff0c;对于8位影像#xff…目录Bug描述代码核查修改验证分析我修改的动机豆包分析原因我的总结Bug描述接到反馈说我的程序输出影像有空洞如图arcmap上看白色的区域RGB对应的都是000我想起代码中难道没有进行判断对于8位影像如果像素值为0就将它置1避免出现空洞情况。代码核查代码截图如下代码中本来就有了对8位值像素的判断为何输出像素值还有0这是不可能出现的事情。但是现在就是出现了。我以为是其他地方代码有问题到处排查没有其他相关代码最核心的地方就在这里。修改验证我只做了一个修改将dstValue用int强转一下验证代码如下dstValueint(pow(dstValue,LightScale));经过重新编译测试验证输出影像正常了没有RGB都是000的问题了最小都是111分析我修改的动机为什么这么改因为我仔细盘算了一下dstValue 是double类型dstimg数组是unsigned char* 类型 所以我感觉是否这个dobule数据转到unsigned char出了问题为啥会出现0我怎么也想不到只是为了验证是否这个问题。最后问题就这样解决了。豆包分析原因因为这个问题的确不知道为啥想让豆包帮我分析。所以描述完问题后她回到如下我的总结其实豆包分析的很牵强如果说是小于0我用逻辑判断就已经置1了但如果我置1了为什么最终转换结果还是0。另外豆包说是小概率事件发生了为啥客户那边机器出现这个问题我这边可以完全复现所以这不是小概率事件而是必然事件。我自己的总结很可能是我发布的是release版本程序编译器的优化导致的double到unsigned char转换问题。另外用豆包推荐的代码建议也测试了比较精简输出影像也正常。对我的收货以后在数据类型转换的时候多留个心眼