问题标签 [unwarp]

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.

0 投票
4 回答
5830 浏览

geometry - 如何将点映射到扭曲的网格上

假设您有一组在笛卡尔坐标系上具有坐标的点。

未弯曲的网格

您想绘制另一个点,并且您知道它在同一笛卡尔坐标系中的坐标。

但是,您绘制的情节与原始情节有所不同。想象一下,将原始平面打印在橡胶板上,然后以不对称的方式(没有重叠或任何复杂的方式)在某些地方拉伸它并在其他地方捏合它。

扭曲的网格来源

您知道每个点集的拉伸和未拉伸坐标,但不知道底层的拉伸函数。您知道新点的未拉伸坐标。

您如何根据附近点的拉伸位置估计在拉伸坐标中绘制新点的位置?它不需要精确,因为除非您有更多信息,否则您无法从一组重新映射的点中确定实际的拉伸函数。

其他可能的关键字:warped 扭曲网格 网格平面坐标 unwarp

0 投票
5 回答
5033 浏览

php - 如何在php中解开数组

我在这里有这个数组:

我想解开数组的第一个深度来得到这个:

0 投票
3 回答
2152 浏览

c++ - 使用高度图扭曲图像?

我有一张图像的高度图,它告诉我每个像素在 Z 方向上的偏移量。我的目标是仅使用它的高度图来展平扭曲的图像。

我该怎么做呢?我知道相机的位置,如果有帮助的话。


为此,我正在考虑假设每个像素是平面上的一个点,然后根据我从高度图和从该平移中获得的 Z 值垂直平移每个点(假设您正在寻找在上面的点上;移动会导致点从你的角度移动)。

从那个预计的偏移中,我可以提取每个像素的 X 和 Y 偏移,我可以将其输入到cv.Remap().

但我不知道如何使用 OpenCV 获得一个点的投影 3D 偏移,更不用说从中构建偏移图了。


这是我正在做的参考图片:

校准图像 扭曲的图像

我知道激光的角度(45 度),从校准图像中,我可以很容易地计算出书的高度:

我对两条线都执行此操作,并使用这种方法对两条线进行线性插值以生成曲面(Python 代码。它在循环内):

我希望这有帮助 ;)


现在,这就是我必须对图像进行扭曲。考虑到它的位置(以及相机的位置、旋转等),中间的所有奇怪的东西都会将 3D 坐标投射到相机平面上:

这现在变成了一个巨大的图像和代码线程......无论如何,这个代码块需要我 7 分钟才能在 18MP 相机图像上运行;这太长了,最后,这种方法对图像没有任何作用(每个像素的偏移量是<< 1

有任何想法吗?

0 投票
1 回答
310 浏览

image - 是否有任何用于展开图像的 C/C++ 库?

我所拥有的是从天花板上拍摄的照片,提供了“径向扭曲”/椭圆形的图像。我需要解开它并使它成为一个规则的矩形图像。我将如何使用 C/C++ 以编程方式执行此操作?

0 投票
2 回答
4462 浏览

jquery - jQuery unwrap 移除多个父级

我有一个像这样的html结构

旁边的两个 div 确实有类和子元素,但为了这个问题,你不需要知道它们是什么。在 DOM 准备就绪时,我将两个内部 div 包装在一个新的 div 中,如下所示

我不使用 wrap() 函数来获取 .wrapping-div 中的两个 div,我创建了该 div,将其附加到 side 内的 DOM 中,然后将两个内部 div 附加到我创建的新元素中。

当我尝试 unwrap() 这两个 div 时, .wrapping-div 和 .l-region--sidebar-first 都会从 DOM 中删除。JS 来解开下面的元素。

我认为 unwrap() 应该删除一个父母。为什么要同时删除两者,有人知道我该如何阻止吗?

干杯。

0 投票
1 回答
3363 浏览

opencv - 展开曲面

我有一个圆柱形物体,上面粘贴了一个圆形标签。我提取图像的轮廓。在此处输入图像描述

我知道圆柱形物体的半径以及标签。但并非每次获得的椭圆都是完全对称的。如何将椭圆展开成圆形?

这是一个不对称的图像在此处输入图像描述

编辑我试图扩展@Haris 的解决方案是这样的在此处输入图像描述

我想使用一组点来获得更准确的圆,而不仅仅是 4 个点。但getPerspectiveTransform不会让我有超过4分。有更好的方法吗?

0 投票
0 回答
40 浏览

grid - 将点移动到规则网格

我需要均匀分布聚集的 3D 数据。二维解决方案会很棒。多达数百万个数据点。

我正在寻找均匀分布 [即完全填充正确大小的网格] 聚集的 3D 或 2D 数据的最佳方法。
目前使用的方法是多次在多个方向上分拣,并摇晃一下以分离团块。众所周知,它远非最佳。一般来说,排序并不好,因为它会在单个表面上散布/展平点块。
三角测量似乎是最好的[去扭曲回到常规网格]但是我永远无法得到合适的船体并且遇到了其他问题。压力平衡类型的方法似乎过头了。
任何人都可以指出这方面的信息方向吗?谢谢你的时间。

当前使用的 [不足] 代码 1 - 为各个方向的排序分配索引 [从一边到另一边,然后在对角线上],2 - 独立执行排序;3 - 从排序中分配 2D 位置;4 - 平均从不同种类获得的位置;5 - 摇晃 [尝试左右和上下移动整个数据集,使重复项保持静态] 以分解;6 - 根据需要重复最多 11 次。

我认为“最佳”结果将是从原始位置到最终网格位置的最小总移动。

0 投票
0 回答
193 浏览

python - 使用 cv2.fisheye undistort 时无法重新映射保留所有黑色区域

在使用 cv2.fisheyeUndistortRectifyMap() 生成 map1 和 map2 后,在使用 cv2.UndistortRectifyMap() 重新映射时,即使将 Balance 保持为 1,我也无法获取完整的黑色区域。预期的图像应具有可见的所有角,包括缺少左下角和左上角和右上部分,使生成的图像显示为星形。

下面附上此处使用的示例以及生成的图像

Input to the code Sample.jpg: 输入代码 327_Sample.jpg

Output of the code appears as so: 代码的输出显示为