如何用给定线图像中的数据沿给定半径填充二维图像中的线?
How to fill a line in 2D image along a given radius with the data in a given line image?
我想沿其极半径填充 2D 图像,数据存储在图像中,其中每行或每列对应于目标图像中的半径。如何有效地填充目标图像?例如使用 iradius 或某些功能?我不喜欢 pix-pix 操作。
您在找这样的东西吗?
number maxR = 100
image rValues := realimage("I(r)",4,maxR)
rValues = 10 + trunc(100*random())
image plot :=realimage("Ring",4,2*maxR,2*maxR)
rValues.ShowImage()
plot.ShowImage()
plot = rValues.warp(iradius,0)
您可能还想从 GMS 本身的 F1 帮助文档中查看相关示例代码:
稍微解释一下warp
:
plot = rValues.warp(iradius,0)
根据 rValues
中的值查找为 plot
赋值。
对于 plot
中的每个像素,计算 rValues
中的坐标位置,并简单地查找该值。如果计算的坐标是非整数,则使用最近的 4 个点之间的双线性插值。
示例中,用于坐标计算的两个'formulas'是简单的x' = iradius
和y' = 0
,其中iradius
是根据[=13]中的坐标计算的表达式=],为方便起见。
您可以将任何表达式输入到 warp( )
的参数中,该命令与仅使用方括号表示法寻址值密切相关。事实上,唯一的区别是 warp
执行值的双线性插值,而不是将坐标截断为整数值。
我想沿其极半径填充 2D 图像,数据存储在图像中,其中每行或每列对应于目标图像中的半径。如何有效地填充目标图像?例如使用 iradius 或某些功能?我不喜欢 pix-pix 操作。
您在找这样的东西吗?
number maxR = 100
image rValues := realimage("I(r)",4,maxR)
rValues = 10 + trunc(100*random())
image plot :=realimage("Ring",4,2*maxR,2*maxR)
rValues.ShowImage()
plot.ShowImage()
plot = rValues.warp(iradius,0)
您可能还想从 GMS 本身的 F1 帮助文档中查看相关示例代码:
稍微解释一下warp
:
plot = rValues.warp(iradius,0)
根据 rValues
中的值查找为 plot
赋值。
对于 plot
中的每个像素,计算 rValues
中的坐标位置,并简单地查找该值。如果计算的坐标是非整数,则使用最近的 4 个点之间的双线性插值。
示例中,用于坐标计算的两个'formulas'是简单的x' = iradius
和y' = 0
,其中iradius
是根据[=13]中的坐标计算的表达式=],为方便起见。
您可以将任何表达式输入到 warp( )
的参数中,该命令与仅使用方括号表示法寻址值密切相关。事实上,唯一的区别是 warp
执行值的双线性插值,而不是将坐标截断为整数值。