问题标签 [image-formats]
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.
python - 使用 NumPy 将二进制数据读取为 BGRA 图像
我有一个 BGRA 图像以以下格式(串行)转储到二进制文件:[(b,g,r,a),(b,g,r,a),(b,g,r,a).. .] 我知道图像的宽度、高度和通道数(在这种情况下当然是 4 个)。
我想将图像读入一个 4D 数组,其中第一个维度表示 B 值等。我有以下代码:
这会打印出类似的内容:
其中 79 是 B,90 是 G,92 是 R,0 是 A,依此类推。现在我试图像这样重塑“数据”:
得到以下内容:
我想得到的是这样的:
image - 为什么 Tango 彩色图像中有伪影?
我在通过以下方式传递给TangoService_connectOnFrameAvailable()的回调中复制 YV12 帧:
完成此操作后,我尝试在vooya中显示 YV12 图像,并在转换为 RGBA 后显示它(按照之前的答案)。但是,在这两种情况下,我都在图像的左上角和整个底部看到了一些伪影。这是一个例子:
我如何复制数据有问题吗?或者这是TangoService_connectOnFrameAvailable()的问题?还是平板电脑的摄像头有问题?
c# - 不支持 8 位无符号整数向量
我正在尝试使用 Simple-itk 托管 dll 在 .bmp 图像上应用 CannyEdgeDetectionImageFilter。
这是我的代码:
我在执行 CannyEdgeDetectionImageFilter 时遇到了这个异常。
sitk::ERROR: 像素类型: 2D byclass itk::simple::CannyEdgeDetectionImageFilter 不支持 8 位无符号整数向量
如何将这个不受支持的东西转换为 simpleitk 支持?
这是我的代码的一些补充。我试图将 8 位无符号整数向量转换为支持的向量,但在这里我没有做到这一点。
sitk::ERROR:过滤器不支持从 8 位无符号整数的转换向量转换为 32 位浮点数
我还能做些什么来处理这段代码吗?
任何帮助表示赞赏。
android - Android - 将 BMP 转换为 8 位深度的 JPEG
我有一个以 BMP 格式捕获的指纹图像。代码如下。
我有一个要求,其中 BMP 文件需要转换为 JPEG 但深度为 8 位。有人可以帮忙吗?
c++ - 无法使用 Boost GIL 检测图像文件类型(未捕获异常)
我需要测试文件是 JPEG 还是 PNG,我不能相信文件扩展名,因为它可能是错误的。为此,我决定使用 GIL。
这是声明(和定义)的头文件boost::gil::png_read_dimensions
。它明确指出boost::gil::png_read_dimensions
“如果位置与有效的 PNG 文件不对应,则抛出 std::ios_base::failure”。事实上,这似乎与函数的实际行为相当。
问题在于boost::gil::jpeg_read_dimensions
你可以在这里看到。它还明确指出“如果位置不对应于有效的 JPEG 文件,则抛出 std::ios_base::failure”。然而,情况似乎并非如此!不会抛出异常,而是libjpeg
打印到 stdout 或 stderr 然后退出程序。
请参阅以下代码:
程序输出:
请注意如何打印what: ... yadiyadiyada ...
和Done.
不打印。
我尝试做} catch(...) {
而不是} catch(const ios_base::failure &ib_f) {
确保没有异常通过但没有成功。不会抛出异常!
我在这里错过了一些非常明显的东西......?难道我做错了什么?有解决方法吗?
image-processing - 图像格式 NV12 存储在内存中
我完全了解所描述的 NV12 格式的大小
现在我从两个来源阅读有关以这种格式存储 UV 平面的信息:一个是https://msdn.microsoft.com/en-us/library/windows/desktop/dd206750(v=vs.85).aspx
NV12
所有 Y 样本首先出现在内存中,作为具有偶数行的 unsigned char 值数组。Y 平面后面紧跟一组 unsigned char 值,其中包含压缩的 U (Cb) 和 V (Cr) 样本。当组合 UV 数组被寻址为 little-endian WORD 值数组时,LSB 包含 U 值,MSB 包含 V 值。NV12 是 DirectX VA 的首选 4:2:0 像素格式。预计它将成为支持 4:2:0 视频的 DirectX VA 加速器的中期要求。下图显示了 Y 平面和包含压缩 U 和 V 样本的阵列。
我的理解是:在 UV 平面中,每个 U 和 V 都存储在单字节中。
当我从维基百科上读到这个时: https ://wiki.videolan.org/YUV#NV12
它说:
NV12
与 I420 相关,NV12 有一个亮度“亮度”平面 Y 和一个 U 和 V 值交错的平面。在 NV12 中,色度平面(蓝色和红色)在水平和垂直维度上均以 2 倍进行二次采样。对于 2x2 像素组,您有 4 个 Y 样本和 1 个 U 和 1 V 样本。将 NV12 视为 U 和 V 平面交错的 I420 会有所帮助。这是 NV12 的图形表示。每个字母代表一位: 对于 1 个 NV12 像素: YYYYYYYY UVUV 对于 2 像素 NV12 帧: YYYYYYYYYYYYYYYY UVUVUVUV 对于 50 像素 NV12 帧: Y*8*50 (UV)*2*50 对于 n 像素 NV12 帧: Y*8*n (UV)*2*n
我在这里的理解是:每个 U 和 V 在每个字节中逐位交错。所以UV平面的每个字节将包含交错的4U位和4V位。
谁能澄清我的疑问?
python - 如何使用 PIL 获取图像的格式?
使用 PIL.Image 加载图像文件后,如何确定图像文件是否为 PNG/JPG/BMP/GIF?我对这些文件格式了解甚少,PIL 可以format
从文件头中获取元数据吗?还是需要“分析”文件中的数据?
如果 PIL 不提供这样的 API,是否有任何 python 库可以提供?
android - setParameters 失败的 Android 相机 - 分辨率正确
这是我的相机设置:
设置 ImageFormat 会导致setParameters failed
错误。所以它显然不是问题所在。我还检查了设备上支持的图片/预览分辨率,所以肯定没有问题。
这种图像格式应该在所有设备上兼容......故事是什么?