将图像中的像素沿着一行点存储到数组中

Store pixels from image along a line of points into an array

我有一张图像,我正在尝试将沿直线的一组点的像素颜色存储到一个数组中。

给出直线的端点和点与点之间的距离。我知道命令 line(x1,y1,x2,y2) 在 (x1,y1) 和 (x2,y2) 之间画一条线。我也知道 .get() 应用于图像 returns 指定位置的像素颜色。

我不确定如何将它们放在一起。

问题本质上分为两部分:

  1. 算出你在沿线的每个点上方的图像像素
  2. 读出该像素值并将其存储在数组中

第二个相当简单:https://processing.org/reference/PImage_get_.html 将为您提供有关获取特定坐标处的像素值所需的所有信息。

第一道本质上是一道数学题

您绘制的线将具有等式:Y = m * X + C,其中 C 是 X 轴的截距,M 是它的梯度。

(要记住的一点是加工草图的原点(0,0)在左上角)

https://www.mathsisfun.com/algebra/line-equation-2points.html 是一个很好的资源。基本方法是计算梯度M然后将Y设置为0并等于m * X = -C