问题标签 [interlacing]
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.
c++ - GLSL Interlacing
I would like to efficiently render in an interlaced mode using GLSL.
I can alrdy do this like:
However, as far as I have understood the nature of branching in GLSL is that both branches will actually be executed, since "even_row" is considered as run-time value.
Is there any trick I can use here in order to avoid unnecessarily calling the rather heavy function "get_color"? The behavior of is_even_row is quite static.
Or is there some other way to do this?
NOTE: glPolygonStipple will not work since I have custom blend functions in my GLSL code.
image-processing - 如何检测隔行扫描图像上的帧是奇数还是偶数?
我有一个在精确时间拍摄电视屏幕截图的设备(它不会拍摄不完整的帧)。
这张截图仍然是由两个不同的原始帧组成的隔行扫描图像。
现在,问题是是否/如何识别哪些行是新的/旧的。
我不得不提一下,如果需要,我可以连续拍摄几张截图。
algorithm - 递归交错排列
我有一个以交错顺序绘制线条的程序(分形)。最初,给定H
要绘制的线条,它确定帧数,然后每 th 帧N
绘制一次N
,然后每N+1
'th 帧绘制一次,等等。
例如,如果H = 10
和N = 3
,它会按顺序绘制它们:
但是我不喜欢带子逐渐变厚的方式,在很长一段时间内留下大面积未绘制的区域。因此,该方法被增强为递归地在每组中绘制中点线,而不是立即绘制后续线,例如:
(括号中的数字超出范围,未绘制。)算法非常简单:
当奇数帧在最后一个步长上绘制时,它们以简单的顺序绘制,就像初始(烦人的)方法一样。每四帧也是如此,等等。这还不错,因为已经绘制了一些中间帧。
但是相同的排列可以递归地应用于每个步长的元素。在上面的示例中,最后一行将更改为:
前面几行元素太少,递归无法生效。但如果N
足够大,某些行可能需要多级递归。任何具有 3 个或更多对应元素的步长都可以递归排列。
问题 1.这种元素排列是否有一个通用名称N
,我可以用它来查找其他材料?我也对可能存在的任何类似示例感兴趣。如果我是第一个想要这样做的人,我会感到惊讶。
问题 2.我可以使用一些技术来计算它吗?我在 C 领域工作,但现阶段我对算法级别更感兴趣;我很高兴阅读其他语言的代码(在合理范围内)。
我还没有解决它的实施问题。我希望我会先预先计算排列(与上面的前一种方法的算法相反)。但我也很感兴趣,是否有一种简单的方法可以让下一帧绘制而无需预先计算,其复杂性与前一种方法相似。
ffmpeg - Swscale色彩空间转换隔行扫描帧?
我正在编写一个应用程序来导出我捕获的视频(PAL SDI)。原始色彩空间是 uyvy (4:2:2)。当我使用 swscale 将帧转换为 4:2:0 并使用 avcodec 进行编码时,我会在字段之间出现颜色溢出。我怀疑这是因为 swscale 没有意识到帧被隔行扫描。以下是我导出的视频中显示其中一个字段的 bob-deinterlaced 帧的一部分示例:
如您所见,颜色从另一场渗出。我如何防止这种情况发生?我查看了图书馆并试图在 swscale 中找到任何告诉它尊重字段的东西,但我没有找到任何东西。
我将每个字段存储在单独的缓冲区中,因此如果有帮助,我可以事先单独处理这些字段。
感谢您对此的任何帮助!
问候卡尔
编辑:基本上,我想要的是输出 PAL DV。我怀疑 swscale 能够以某种方式产生这种类型的隔行扫描 420,因为 ffmpeg(应用程序)可以处理这个(我认为)。
c++ - GLSL 隔行扫描似乎跳过了 3DTV 上的偶数行
我正在尝试创建一些隔行扫描图像以在 3DTV 上输出。我的方法使用 OpenGL 的模板缓冲区在每个偶数行像素上绘制线条网格。在我的笔记本电脑上,生成的图像看起来是交错的,但是当我输出到 3DTV(通过 HDMI 电缆)时,看起来好像没有在每行偶数行像素上绘制线条。我的笔记本电脑和电视的垂直分辨率为 1080 像素。下面使用的屏幕坐标范围从屏幕左下角的 (-1, -1) 到右上角的 (1, 1)。这是我用来在模板缓冲区上绘制网格的代码。如果有人可以为我检查一下,看看我是否做错了什么,我将不胜感激。如果我的代码没问题,问题可能是电视调整了笔记本电脑的输出大小。
html - 通过隔行扫描加载图像 - 从低分辨率到全分辨率 - HTML
我正在创建一个使用图像作为背景的网站。我讨厌从上到下加载图像,因为它只会使页面在加载时看起来很糟糕。我见过一些网站加载了一个非常低分辨率的图像,然后它逐渐上升到全分辨率的照片。我希望我的网站也这样做,但我不知道如何实现这一点。这是否需要多个图像文件和更多带宽?我希望它使用与传统方式相同的带宽/花费相同的时间。
image-processing - 如何播放隔行视频,图片上半部分偶数行,下半部分奇数行?
我有一些设备以以下格式流式传输 h264 视频:图片的上半部分是偶数行视频,图片下半部分是奇数行视频。所以问题是 - 我怎样才能在正常可见度下播放这个视频,例如使用标准播放器,ffplay。我知道 ffmpeg 中的“tinterlace:merge”插件,但它一张一张地结合了两张图片中的视频。所以我的任务是从单帧制作正确的视频。问候,阿列克谢。
image - 什么时候交错图像?
作为一般经验法则,什么时候适合制作 gif 隔行扫描、png 隔行扫描和 jpeg 逐行扫描?
尤其是在网络上发布图像时。
video-streaming - 无法让 gstreamer 生成去隔行视频
背景:
- 我正在从 Bosch VideoJet x40 网络视频编码器流式传输视频。它最多可读取 4 个模拟摄像机输入并输出 RTP 流。
- 我正在提供来自旧 VCR(拯救大兵瑞恩!)的测试镜头,使用一根黄色视频复合电缆将其连接到网络编码器的输入。
- 这些RTP 流作为 H.264 编码视频在 UDP/RTP 数据包上发送。YUV I420 颜色空间中的编码视频数据。
我的 gstreamer 管道读取 RTP 数据包,将它们从 YUV 转换为原始 RGB,然后保存它们。到目前为止,它在这方面工作正常:
这是该命令的调试输出,该命令大部分正常工作并保存 RAW RGB 视频输出。这个文件在几秒钟后就很大(正如预期的那样),所以如果你运行这个命令要小心:
录制后,我使用 Vooya 原始序列播放器检查文件并播放它们。但是,如果没有告诉 Vooya 视频是隔行扫描的,文件就无法正确播放。
我需要平面封装框架,以后可以提取这些框架用于计算机视觉应用。
在这里您可以看到正在播放的视频,尽管视频格式错误(隔行扫描):
http://i.imgur.com/QDZSWdJ.png
当我将设置更改为所需的设置时,您可以在此处看到视频未播放:
http://i.imgur.com/zSrOvFj.png
因此,我尝试将 deinterlace 插件添加到我的管道中,但没有成功。我可能做错了什么?
这是我的新管道,在文件接收器之前有去隔行:
为什么我的视频在所有这些处理之后仍然出现隔行扫描,关于隔行扫描插件我可能做错了什么?
我认为 VCR 或 B&W 摄像机可能会在其末端交错视频,但我不确定。即使它们是,我也无法改变它,仍然需要去隔行扫描。
谢谢!
jpeg - 为什么隔行扫描的 jpeg 比非隔行扫描的图像大?
为了提高速度,在一个应用程序中,我尝试用前一个偶数水平线的像素填充每个水平奇数行像素。问题是我认为我会节省一点空间,但是为了提高 20% 的速度,我的 jpeg 堆栈的大小几乎翻了一番。
我现在正在考虑跳过奇数行上的图像处理,而不是复制奇数行上的先前像素,因为文件大小没有增益。
执行此操作时是否阻止 jpeg 编解码器压缩图像?