模糊数据
一个 方框模糊 实现,用于 1D、2D 和 RGBA 图像;支持小数半径。
blur(data, radius)
js
const numbers = d3.cumsum({length: 1000}, () => Math.random() - 0.5);
d3.blur(numbers, 5); // a smoothed random walk
示例 · 源代码 · 通过对给定radius(一个非负数)的移动平均变换(方框滤波器)应用三次迭代来模糊data数组,以快速逼近高斯核。返回给定的data。
blur2({data, width, height}, rx, ry)
js
const matrix = {
width: 4,
height: 3,
data: [
1, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 1
]
};
d3.blur2(matrix, 1);
示例 · 源代码 · 通过应用半径为rx的水平模糊和半径为ry(默认为rx)的垂直模糊来模糊给定width和height的矩阵。矩阵值data存储在一个扁平(一维)数组中。如果未指定height,则会从给定的width和data.length推断出来。返回模糊后的矩阵{data, width, height}。
blurImage(imageData, rx, ry)
js
const imageData = context.getImageData(0, 0, width, height);
d3.blurImage(imageData, 5);
示例 · 源代码 · 模糊给定的 ImageData,通过应用半径为rx的水平模糊和半径为ry(默认为rx)的垂直模糊来独立地模糊每个RGBA层。返回模糊后的ImageData。