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

CS50 Pset4边缘检测代码异常:输出图像不符合预期

CS50 Pset4 Edges功能实现问题排查

任务与算法说明

  • 目标:基于Sobel算子(gx、gy卷积核)实现图像轮廓提取功能
  • 核心逻辑:
    1. 对每个像素的邻域颜色值,分别与gx、gy卷积核做卷积运算(相乘求和),得到gx、gy分量
    2. 通过公式sqrt(gx² + gy²)计算新颜色值,结果超过255则截断为255
    3. 图像边界外的像素统一视为0处理

遇到的问题

  • 初始代码运行后输出异常:原体育场正常图处理后模糊且轮廓完全错误
  • 按建议修改代码后,仍无法得到预期的轮廓提取效果

排查所需信息

请提供初始代码和修改后代码的完整内容,同时可补充以下细节:

  • 是否针对RGB三通道分别执行了卷积运算?
  • 图像边界像素的具体处理逻辑是什么?
  • 计算gx²+gy²时使用的数据类型是什么?

常见问题方向(无代码时的参考)

  • 卷积核权重顺序错误:比如gx算子的横向权重颠倒,或gy算子的纵向权重错位
  • 通道处理遗漏:仅处理了灰度通道,未对RGB三个通道分别计算后合并结果
  • 边界处理失误:未将图像外的像素视为0,而是直接使用邻域内的错误像素值
  • 数值溢出:用int类型存储gx²+gy²的结果,导致超出范围后计算失真
  • 截断逻辑错误:未正确将超过255的结果强制设为255,或平方根计算后未做取整处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 18:43:20