问题标签 [bilinear-interpolation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
image-processing - 如何通过每种颜色的分数贡献在n种颜色之间进行插值?
如何在 n 种颜色之间进行插值。
2色简单案例
首先考虑一个更简单的情况,我们想要找到 2 种颜色的中点。
解决方案是分别考虑的每个 R、G、B 之间的中点。
由于中点正好在两者之间,并且与插值存在线性关系,因此可以在 Color1 和 Color2 之间插值一个小数,例如 0.25,颜色应该更接近 Color1。
n种颜色的情况
我希望找到解决方案的情况是有 n 种颜色,其中每种颜色的分数权重总计高达 1.0。
(猜测,我猜每种颜色都可以被认为是 3 维空间中的一个点,并且权重描述了插值点与每个颜色点的相对距离)
颜色插值仅是线性 RGB。
在某些情况下,我猜可能有多个整数值可以解决问题,例如,如果有几种颜色具有相似的值。
我读到有双线性插值可能有助于解决这个问题。
通常颜色的数量不会超过 5 种,通常是 2、3 或 4 种颜色。
image-processing - 如何找到对已知颜色 C 有贡献的 n 种颜色的分数权重?
这与这个问题相关但不一样(点击进入)。然而,链接的问题需要在这个问题之前解决,或者至少要理解问题。这可以被认为是另一个的相反。
这个问题是,给定 RGB 中的 n 个颜色,例如
我们知道给定的颜色 C,找到每种颜色的分数权重,以便当这些颜色混合时,给定颜色的分数权重会导致已知颜色 C。分数权重在上面的链接问题中定义,它是一个值介于 0.0 和 1.0 之间,其中总权重等于 1.0。例如,Color1 可以是 0.2,Color2 可以是 0.2,Color3 可以是 0.6。
插值在 RGB 颜色空间中是线性的。
通常颜色的数量不会超过 5 种,通常是 2 或 3 或 4 种颜色。
请注意,很有可能无法将这些颜色混合以获得颜色 C,例如,如果我们有两种非常红色的颜色并且我想要颜色 C(即绿色),则无法混合两种红色以获得绿色. 所以在这种情况下,没有解决办法。
此外,在某些情况下,可能有多种方法可以混合颜色以制作颜色 C。
r - 绘制二维人口分布的热图(或类似图)
我想知道如何在这些位置(x 和 y)绘制人口比例(pop.prop)的图像,以便我可以清楚地看到人口分布?
数据如下图:
x
是经度,y
是纬度。
c# - C# 数组列表生成双线性插值值
在开始之前,请接受我的歉意,我是初学者。
我想要的是一个带有数据的网格。只有我有一个包含 7 个点(x,y,值)的数组列表。我想在 5x5 的网格中执行此操作。只有我错过了很多价值观。我想借助插值函数生成缺失值。通过多维(或插值)(x,y)搜索以生成其他网格的值的算法。
网格示例:
我使用了该方法(来自 c# 书中的数值方法、算法和工具)并且它正在工作,但我不明白如何将我的值传递给函数并生成随机 5x5 缺失值,因为函数和方法不是t 书中解释。
什么是 zdata[,] 双二维数组?,这是来自点的值吗?xdate 和 ydata 是什么?
例如,我有一个包含 7 个点 (x,y,value)=> 0,0,18 等的数组。如何正确传递给此方法以生成缺失值?
这是整个功能:
谢谢
matlab - 如何为来自不同矩阵的各种条目中的每一个应用一个函数作为索引?
我正在 matlab 中编写一个函数,它模仿内置的“imwarp”函数(应用几何变换),而不使用任何类型的循环。当我必须为最终二维图像中的每个索引调用双线性插值函数时,我正处于最后一步。
我在这里有 3 个数组,'pts' 有同质化向量 (x,y,1),我对其进行插值,'row' 和 'cols' 分别具有 x 和 y 坐标,用于放置插值强度值的结果图像。
请在此处更正我的语法以正确执行此操作。提前致谢。
r - 使用“interp2 {pracma}”进行双线性插值时出错;二维插值有更好的方法吗?
我正在尝试在名为vol_coarse
.
这是返回的错误消息:
错误:is.numeric(Z) 不是 TRUE
我读到?interp2
:
如何创建一个 8 x 3 的矩阵以便我可以使用interp2
?
还是有更好的方法来执行这种插值?
谢谢你。
opencv - 反转实值索引网格
OpenCVremap()
使用实值索引网格使用双线性插值从图像中采样值网格,并将样本网格作为新图像返回。
准确地说,让:
那么对于所有像素坐标 i, j,
其中圆括号表示法表示使用双线性插值来使用浮点值坐标和A(x, y)
求解图像 A 的像素值。x
y
我的问题是:给定一个索引网格X
,Y
我怎样才能生成一个“逆网格” X^-1
,Y^-1
这样:
和
对于所有整数像素坐标i, j
?
FWIW,图像和索引图 X 和 Y 的形状相同。但是,索引映射 X 和 Y 没有先验结构。例如,它们不一定是仿射或刚性变换。它们甚至可能是不可逆的,例如,如果X, Y
将多个像素映射A
到 B 中相同的确切像素坐标。我正在寻找一种方法的想法,该方法将找到一个合理的逆映射(如果存在)。
该解决方案不必基于 OpenCV,因为我没有使用 OpenCV,而是另一个具有remap()
实现的库。虽然欢迎任何建议,但我特别热衷于“数学上正确”的东西,即如果我的地图 M 是完全可逆的,那么该方法应该在机器精度的一些小范围内找到完美的逆。
php - Select PHP's Image resizing algorithm
The function imagecopyresampled is useful to generate a thumbnail or resize images, while keeping aspect ratio:
How can I select the resizing algorithm used by PHP?
Note: as stated in this question, setting imagesetinterpolation($dst, IMG_BILINEAR_FIXED);
or such things doesn't seem to work.
According to tests I did (in another language), "bilinear resizing" sometimes gives better result than bicubic, and sometimes it's the contrary (depends if it's downsizing or upsizing).
(source: dpchallenge.com)
image - 将原始图像放大到n倍时如何在调整图像大小时使用双线性插值,其中n不是整数
最近学习了双线性插值,根据Wiki中的描述,感觉双线性插值只能用于整数倍放大,例如给定4x4分辨率的图像,通过双线性插值只能放大到8x8、12x12、16x16 ……等等,但是不能放大到9x9、13x13……就因为9、13这样的数字不能被4整除,对吗?如果不对,如何通过双线性插值将其放大到 n 倍,其中 n 不是整数?