问题标签 [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.
geometry - 如何将点映射到扭曲的网格上
假设您有一组在笛卡尔坐标系上具有坐标的点。
您想绘制另一个点,并且您知道它在同一笛卡尔坐标系中的坐标。
但是,您绘制的情节与原始情节有所不同。想象一下,将原始平面打印在橡胶板上,然后以不对称的方式(没有重叠或任何复杂的方式)在某些地方拉伸它并在其他地方捏合它。
(来源)
您知道每个点集的拉伸和未拉伸坐标,但不知道底层的拉伸函数。您知道新点的未拉伸坐标。
您如何根据附近点的拉伸位置估计在拉伸坐标中绘制新点的位置?它不需要精确,因为除非您有更多信息,否则您无法从一组重新映射的点中确定实际的拉伸函数。
其他可能的关键字:warped 扭曲网格 网格平面坐标 unwarp
php - 如何在php中解开数组
我在这里有这个数组:
我想解开数组的第一个深度来得到这个:
c++ - 使用高度图扭曲图像?
我有一张图像的高度图,它告诉我每个像素在 Z 方向上的偏移量。我的目标是仅使用它的高度图来展平扭曲的图像。
我该怎么做呢?我知道相机的位置,如果有帮助的话。
为此,我正在考虑假设每个像素是平面上的一个点,然后根据我从高度图和从该平移中获得的 Z 值垂直平移每个点(假设您正在寻找在上面的点上;移动会导致点从你的角度移动)。
从那个预计的偏移中,我可以提取每个像素的 X 和 Y 偏移,我可以将其输入到cv.Remap()
.
但我不知道如何使用 OpenCV 获得一个点的投影 3D 偏移,更不用说从中构建偏移图了。
这是我正在做的参考图片:
我知道激光的角度(45 度),从校准图像中,我可以很容易地计算出书的高度:
我对两条线都执行此操作,并使用这种方法对两条线进行线性插值以生成曲面(Python 代码。它在循环内):
我希望这有帮助 ;)
现在,这就是我必须对图像进行扭曲。考虑到它的位置(以及相机的位置、旋转等),中间的所有奇怪的东西都会将 3D 坐标投射到相机平面上:
这现在变成了一个巨大的图像和代码线程......无论如何,这个代码块需要我 7 分钟才能在 18MP 相机图像上运行;这太长了,最后,这种方法对图像没有任何作用(每个像素的偏移量是)<< 1
。
有任何想法吗?
image - 是否有任何用于展开图像的 C/C++ 库?
我所拥有的是从天花板上拍摄的照片,提供了“径向扭曲”/椭圆形的图像。我需要解开它并使它成为一个规则的矩形图像。我将如何使用 C/C++ 以编程方式执行此操作?
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() 应该删除一个父母。为什么要同时删除两者,有人知道我该如何阻止吗?
干杯。
opencv - 展开曲面
我有一个圆柱形物体,上面粘贴了一个圆形标签。我提取图像的轮廓。
我知道圆柱形物体的半径以及标签。但并非每次获得的椭圆都是完全对称的。如何将椭圆展开成圆形?
这是一个不对称的图像
编辑我试图扩展@Haris 的解决方案是这样的
我想使用一组点来获得更准确的圆,而不仅仅是 4 个点。但getPerspectiveTransform
不会让我有超过4分。有更好的方法吗?
grid - 将点移动到规则网格
我需要均匀分布聚集的 3D 数据。二维解决方案会很棒。多达数百万个数据点。
我正在寻找均匀分布 [即完全填充正确大小的网格] 聚集的 3D 或 2D 数据的最佳方法。
目前使用的方法是多次在多个方向上分拣,并摇晃一下以分离团块。众所周知,它远非最佳。一般来说,排序并不好,因为它会在单个表面上散布/展平点块。
三角测量似乎是最好的[去扭曲回到常规网格]但是我永远无法得到合适的船体并且遇到了其他问题。压力平衡类型的方法似乎过头了。
任何人都可以指出这方面的信息方向吗?谢谢你的时间。
当前使用的 [不足] 代码 1 - 为各个方向的排序分配索引 [从一边到另一边,然后在对角线上],2 - 独立执行排序;3 - 从排序中分配 2D 位置;4 - 平均从不同种类获得的位置;5 - 摇晃 [尝试左右和上下移动整个数据集,使重复项保持静态] 以分解;6 - 根据需要重复最多 11 次。
我认为“最佳”结果将是从原始位置到最终网格位置的最小总移动。
python - 使用 cv2.fisheye undistort 时无法重新映射保留所有黑色区域
在使用 cv2.fisheyeUndistortRectifyMap() 生成 map1 和 map2 后,在使用 cv2.UndistortRectifyMap() 重新映射时,即使将 Balance 保持为 1,我也无法获取完整的黑色区域。预期的图像应具有可见的所有角,包括缺少左下角和左上角和右上部分,使生成的图像显示为星形。
下面附上此处使用的示例以及生成的图像
Input to the code Sample.jpg:
Output of the code appears as so: