问题标签 [distortion]

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 投票
1 回答
1609 浏览

iphone - 大型几何图形 GL_REPEAT 上的 OpenGL ES 2.0 纹理失真

OpenGL ES 2.0 在纹理采样方面存在严重的精度问题——我见过有类似问题的主题,但我还没有看到这个“扭曲的 OpenGL ES 2.0 纹理”问题的真正解决方案。

这与纹理的图像格式或 OpenGL 颜色缓冲区无关,似乎是精度错误。我不知道具体是什么导致精度失败 - 似乎不仅仅是几何体的大小导致了这种失真,因为简单地缩放传递给顶点着色器的顶点位置并不能解决问题。


以下是纹理失真的一些示例:

纹理问题仅限于 OpenGL ES 2.0 上的小尺度几何体,否则纹理采样看起来很正常,但随着顶点数据距离 XYZ(0,0,0) 的原点越远,粒状效果会逐渐恶化

这些纹理问题不会在桌面 OpenGL 上发生(在 Windows XP、Windows 7 和 Mac OS X 下工作正常)

我只在 Android、iPhone 或 WebGL(类似于 OpenGL ES 2.0)上看到过这个问题


所有纹理都是 2 的幂,但问题仍然存在

  • 缩放顶点数据- 顶点的 XYZ 位置的值在以下范围内:-65536 到 +65536 浮点

    • 我意识到这很大,所以我尝试将顶点位置除以 1024 以缩小几何形状并希望获得更准确的浮点精度,但这并没有解决或减少纹理失真问题
  • 缩放模型视图或缩放投影矩阵无济于事

  • 更改纹理过滤选项无济于事

    • 禁用 mipmapping,或使用 GL_NEAREST/GL_LINEAR 什么都不做
    • 启用/禁用各向异性没有任何作用
    • 即使使用 GL_CLAMP 仍然会出现条带效应
  • 将传递给顶点着色器的纹理坐标相除,然后将它们乘回到片段着色器中的正确值,也不起作用

  • 精度 highp sampler2D、highp float、highp int - 在片段或顶点着色器中没有改变任何东西(lowp/mediump 也不起作用)

我认为这个问题必须在某一时刻得到解决——看到基于 OpenGL ES 2.0 的游戏已经能够渲染大规模、高度详细的几何图形

0 投票
1 回答
639 浏览

iphone - UIImageView 3D失真

我一直在寻找 stackoverflow 和互联网很长一段时间,但似乎找不到任何可用的东西。

我想实现这一点: UIImage失真

重要的是我可以改变四个角的原点。像这样的东西:

它会导致变形的“3D”图像。

我不需要实际工作的代码,只需要一些在哪里/寻找什么的指针。

0 投票
1 回答
430 浏览

android - ImageView 失真

我有一个奇怪的问题。在我的应用程序中,我在图像视图中显示位图。正常情况下看起来不错。但是当一个对话框说 waitdialog 出现在前面时,它会从底部向下切。我有下面的示例图片:

正常图像:

在此处输入图像描述

显示对话框后:

在此处输入图像描述

知道这有什么问题吗?

编辑:

0 投票
1 回答
3181 浏览

ios - 我的 iOS 应用使用 8000 赫兹采样率的音频单元返回失真的声音

我真的需要帮助解决这个问题。我正在开发一个带有音频单元的 iOS 应用程序,录制的音频需要使用 alaw 格式以 8bit / 8000 赫兹的采样率。我如何从扬声器中听到失真的声音。

我在网上看到了这个示例:

http://www.stefanpopp.de/2011/capture-iphone-microphone/comment-page-1/

在尝试调试我的应用程序时,我在他的应用程序中使用了我的 audioFormat,我得到了相同的失真声音。我猜我的设置不正确,或者我需要做其他事情才能使其正常工作。鉴于链接中的应用程序和下面的音频格式,谁能告诉我我做错了什么或遗漏了什么?我对这方面了解不多,谢谢。

音频格式:

0 投票
0 回答
485 浏览

wpf - 用于高清视频的 MediaUriElement(来自 WPFMediaKit)中的粉色线条/失真

我在 WPF 中有一个媒体播放器,以前使用该MediaElement控件显示视频。但在 XP 上它没有显示一些高清视频。按照这个线程的建议,我开始使用 WPFMediaKit 库MediaUriElement。现在我可以播放高清视频,但它们的顶部有粉色线条/失真:

在此处输入图像描述

那是屏幕的顶部 1/5。失真会在顶部闪烁一秒钟,然后消失。这每隔几秒钟就会发生一次。视频的其余部分播放正常。
如果我在 Windows Media Player 中打开视频,它可以正常播放。

有人知道是什么原因造成的吗?

0 投票
1 回答
1195 浏览

android - Android - 扭曲的相机预览

我目前正在编写一个 android 应用程序,它运行在预览框架上显示一个可绘制的圆圈,运行边缘检测,然后在用户将硬币完美地排列在圆圈中时拍照。

出于某种原因(尽管是全屏没有标题等),我开始意识到相机预览有点失真。我尝试将 previewsize 设置为 480x640,同时将 surfaceholder 大小设置为 480x640,但是如果我将预览保存为位图并拍照,您会注意到失真。

有没有其他人遇到过这种问题/或对解决方案有任何想法?

0 投票
1 回答
450 浏览

vba - 蓝牙传入数据串失真

我有配备 RS232 串行端口和蓝牙发射器的秤。我在 VBA 中编写了一个程序来接收来自秤的数据。但是,假设在 10 个传入的字符串中,我得到了 3 个失真。我的常规字符串看起来像:“+001500./3 G S”。这意味着高于零 1500.3 克,并且输出稳定。但有时我会得到像“+”或“001500./3”或“GS”这样的分隔字符串。当我插入串行电缆时,我没有失真。

0 投票
0 回答
256 浏览

flash - IE9中的Flash失真

我的客户报告了 ie9 (9.0.8112.16421) 中闪存的奇怪问题。这是结果的截图:http: //i46.tinypic.com/f41ens.jpg。Flash 应用仅供内部使用,因此我无法提供网址。这种效果发生在应用程序中的一些点击之后,但显然是在相同的地方。少数测试人员无法重现该问题。

是什么原因?

我的假设是:

  • flash不是最新的吗?
  • 显卡驱动问题?
  • 放大查看的页面(右下角),也许是一个原因?

谢谢并恭祝安康

0 投票
2 回答
1188 浏览

image - Facebook 喜欢的盒子图像失真

我在我的网站上使用 FB like box 小部件。我注意到在 FB 上发布的较大图像在框中出现扭曲。

我看到负责这个的css是:

有没有办法强制height: auto我的CSS?显然,我在样式表中为此元素声明的任何内容都会被忽略,即使使用!important.

0 投票
4 回答
16969 浏览

java - 用于校正 FishEye 镜头的桶形失真校正算法 - 无法用 Java 实现

我有大量用鱼眼镜头拍摄的照片。因为我想对照片进行一些图像处理(例如边缘检测),所以我想消除严重影响我的结果的桶形失真。

经过一些研究和大量阅读文章后,我发现了这个页面:他们描述了一种算法(和一些公式)来解决这个问题。

M = a *rcorr^3 + b * rcorr^2 + c * rcorr + d
rsrc = (a * rcorr^3 + b * rcorr^2 + c * rcorr + d) * rcorr

rsrc = 像素到源图像中心的
距离 rcorr = 像素到校正后图像中心的距离
a,b,c = 图像失真 d = 图像线性缩放

我使用了这些公式并尝试在 Java 应用程序中实现它。不幸的是,它不起作用,我没能使它起作用。“更正”的图像看起来与原始照片完全不同,而是在中间显示了一些神秘的圆圈。看这里:

http://imageshack.us/f/844/barreldistortioncorrect.jpg/ (这曾经是一头白牛在蓝墙前的照片)

这是我的代码:

我的问题是:
1)这个公式正确吗?
2)我把这个公式变成一个软件是不是犯了一个错误?
3)还有其他算法(例如如何通过openCV模拟鱼眼镜头效果?或wiki/Distortion_(光学)),它们更好吗?

谢谢你的帮助!