问题标签 [monochrome]

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 回答
128 浏览

linux - 单色 (1bpp) 简单帧缓冲区 (simplefb.c) 格式/深度

我成功地使用了简单的帧缓冲驱动程序(https://github.com/torvalds/linux/blob/fcadab740480e0e0e9fa9bd272acd409884d431a/drivers/video/fbdev/simplefb.c)和每像素16位编码(r5g6b5)设置。现在,我想对使用每像素 1 位深度的较小单色显示器使用类似的方法。根据源代码,简单的帧缓冲似乎不支持这种操作模式。是否可以按照下面建议的方式将此模式(“y1”)添加到 SIMPLEFB_FORMATS 定义(https://github.com/torvalds/linux/blob/fcadab740480e0e0e9fa9bd272acd409884d431a/include/linux/platform_data/simplefb.h)中?然后在devicetree中使用这个模式?

这个问题有什么通用的解决方案吗?我需要在给定的物理地址上分配一个帧缓冲区,每像素深度为 1 位......

在此先感谢,迈克

0 投票
1 回答
55 浏览

vb.net - 合并大型单色 (BW) 图像

我需要处理大型单色图像。我基本上需要将横幅(框架和格式化文本)添加到高分辨率(如 30000x20000px)单色图像(400dpi 的 A2+ 绘图)。

默认PixelFormatFormat1bppIndexed,这使得即使是那些大图片的尺寸也相对较小。但是,使用 .NET GDI+Graphics对象需要未索引的位图。

将图像转换为最低可用 unindexed 时PixelFormat.Format16bppGrayscale

...它变得很大,可以由Image和处理BitmapOutOfMemoryExeption: Not enough memory- 在 32GB 机器上)。我尝试单独创建横幅并以像素方式加入图片,但是我遇到了同样的限制 -SetPixel需要未索引的位图。

有没有办法克服这些问题?


编辑:一个可能的解决方案是创建一个字节数组并根据 [https://social.msdn.microsoft.com/Forums/vstudio/en-US/54a096ff-46f3-45ce-8560-bf5a0618ef75/how 编辑字节-to-set-pixel-into-bitmap-with-pixel-format-of-format8bppindexed-?forum=csharpgeneral][1]。但是我不确定我如何能按字节“移动”第二张图像。
0 投票
0 回答
37 浏览

android - 当镜头在 API < 29 中为单色时,使用 Camera2 确定

对于 Android API >= 29,我使用下一个片段来确定镜头何时为单色:

API 29中引入了SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO和SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR 。

对于 API < 29,确定镜头是否为单色的方法是什么?

在 API 28中, REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME可用于了解相机镜头何时是单色的,但在我的测试设备中,对于已知的单色镜头,我没有获得这种能力。我不知道这是否是由于制造商的实施不正确。

至于 APIs < 28 我找不到任何检查方法。

0 投票
0 回答
54 浏览

filter - ffmpeg可以检测视频的单色部分并相应地有条件地设置过滤器参数

我输入的视频在彩色和单色/灰色部分(仅包含亮度信息的帧)之间来回切换。ffmpeg 中是否有办法检测当前帧是彩色还是单色,是否可以使用此信息来更改过滤器的参数?

例如,我想应用 mpdecimate 过滤器,并且我希望它对彩色帧使用 50(每像素)的“hi”参数,对单色帧使用 20。

所以在伪代码中我想要类似的东西

-vf mpdecimate=hi=if(coloured,64*50,64*20)

但显然“有色”条件不是那样工作的。

这能以某种方式实现吗?

PS:关于单色帧的检测,我已经确定了两个具有相关功能的过滤器,但我无法在另一个过滤器中使用该信息:

  • "geq" 可以使用 cbsum(x,y) 和/或 crsum(x,y) 很好地了解帧颜色
  • “signalstats”可以使用属性“SATMAX”来了解帧的颜色级别

有没有办法在另一个过滤器中使用上述两个过滤器中任何一个的结果数量?

0 投票
0 回答
10 浏览

android - Monochromacy 色彩空间模拟在 Android 中是如何工作的?

我最近读到了GIMP 中的去饱和工作。由于我是一个重度智能手机灰色模式用户,我想知道颜色转换在 Android 中是如何工作的。

我没想到它是一种天真的去饱和度,因为总的来说它看起来非常令人愉快。我更期待LAB Lightness (L*)。然而,我的测试表明它没有使用感知亮度——事实上,我无法在 GIMP 中复制这种效果。

我尝试搜索此内容,但没有找到任何结果。

0 投票
3 回答
63 浏览

c# - 在 c# 中放大条形码图像的最佳无损方法是什么

多年来,我多次遇到这个问题,但仍然希望有一种我错过的简单方法来解决这个问题。我经常使用条形码。它们通常由白色背景上的黑点或线条组成。当边缘清晰且线条或点的大小精确时,条码阅读器通常工作得更快、更准确。

大多数条码生成算法都会为您提供紧凑的条码,通常最小元素大小为一个像素。典型的 QR 码可以放入 21 x 21 的网格中。如果在大多数打印机上打印像素到像素,这将太小,并且通常会按比例放大。放大它的结果取决于所使用的方法,尽管有时您可以选择,但通常您没有使图像适合的选项。即使直接打印通常也会给您预期的灰色伪影或抖动形式。我发现最一致的方法是在图像每天在其他地方使用之前缩放图像,例如 Microsoft Word、lightburn 和我使用的其他一些仍然让我头疼的地方。

下面我将介绍我尝试过的内容并展示结果。我仅将其限制为位图,因为在我当前的项目中不需要在这里使用矢量。

我目前的最佳分辨率并不漂亮,速度很慢,虽然我可以通过锁定位图中的位来提高速度,但我希望有人能给出一个非常简单的答案,这一次我完全错过了我的搜索。

这是在 GIMP 中放大的简单 QR 码的图像。

二维码图片

问题是,如果按比例放大,它通常会变成这样: 缩放后的图像

下面我创建了一个小测试程序来遍历我所知道的所有不同模式,然后生成一个我在下面复制的图像矩阵。我目前使用的版本是模式 99,它涉及检查每个像素并绘制一个正方形。

有没有人有更好的想法?

使用测试程序渲染的最终图像数组