将图像中的像素沿着一行点存储到数组中
Store pixels from image along a line of points into an array
我有一张图像,我正在尝试将沿直线的一组点的像素颜色存储到一个数组中。
给出直线的端点和点与点之间的距离。我知道命令 line(x1,y1,x2,y2)
在 (x1,y1) 和 (x2,y2) 之间画一条线。我也知道 .get()
应用于图像 returns 指定位置的像素颜色。
我不确定如何将它们放在一起。
问题本质上分为两部分:
- 算出你在沿线的每个点上方的图像像素
- 读出该像素值并将其存储在数组中
第二个相当简单: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
我有一张图像,我正在尝试将沿直线的一组点的像素颜色存储到一个数组中。
给出直线的端点和点与点之间的距离。我知道命令 line(x1,y1,x2,y2)
在 (x1,y1) 和 (x2,y2) 之间画一条线。我也知道 .get()
应用于图像 returns 指定位置的像素颜色。
我不确定如何将它们放在一起。
问题本质上分为两部分:
- 算出你在沿线的每个点上方的图像像素
- 读出该像素值并将其存储在数组中
第二个相当简单: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