You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言实现box blur模糊BMP图像仅角落像素正确问题求助

问题原因分析
  • 核心逻辑错误:直接在原图像数组上覆盖写入新像素值
    方框模糊的计算依赖当前像素周围3x3范围内的所有原始像素值,你现在的写法是计算完一个像素的模糊值后直接写回原image数组,后续计算相邻像素时,就会用到已经被修改的模糊后的值,而非原始图像的像素值,最终导致计算结果偏差。
    角落像素结果正确是因为你采用从上到下、从左到右的遍历顺序,四个角落计算时用到的所有像素都还未被修改,所以结果符合预期。
  • 代码笔误:左下角像素蓝色分量赋值错误
    在i == height - 1 && j == 0的角落处理分支中,你误将蓝色分量的计算结果赋值给了avRed变量,avBlue全程没有被正确赋值,会导致左下角像素的蓝色分量结果异常。
修复方案
  1. 新增一个和输入图像尺寸完全相同的临时二维数组temp_image,所有计算得到的模糊后RGB值先写入临时数组,等整幅图像所有像素的模糊值全部计算完成后,再把临时数组的内容批量拷贝回原image数组即可。
  2. 修正左下角处理分支的笔误,将蓝色分量计算的赋值目标改为avBlue。

内容的提问来源于stack exchange,提问作者BayLingual

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 08:24:03