Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
正如主题所暗示的,我正在尝试从二进制地图中计算出渐变的可见性地图。
也就是说,我有一个栅格地图,其中每个值用“1”表示其可见性,用“0”表示其不可见性。
我想让地图中可见部分的边界使用三次渐变函数渐变,以便它在边界处从零平滑地变为一。我不知道如何全局计算这种平滑的斜坡。我需要在 C 中使用数组来完成。
基本算法相当简单:一次扫描地图,查看 NxM 个子集(通常 N 和 M 都等于大约 5 左右)。对于每个这样的窗口,您将计算一个输出像素作为中心像素及其相邻像素的平均值。由于您需要立方(而不是线性)过渡,因此您将根据立方与中心距离的倒数对每个像素进行加权。