问题标签 [bpp]

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 投票
0 回答
469 浏览

c++ - sdl 曲面,其中 bpp = 1

2014 年 6 月 4 日

我需要(如果可能)在 SDL 1.2 中创建一个 bpp = 1 的表面。bpp 是每像素位数。

我在 100% 黑白工作,“表面”尺寸大得离谱,我的物理记忆让我瓶颈。我有 4GB 的内存,程序需要在预算机器上运行,这意味着 2-4 演出。我一直在使用 8 的颜色深度;我想我实际上浪费了大约 3/4 的记忆?我将表面保存为 .bmp 文件,该文件应该支持 bpp = 1 的黑白格式。

有什么办法可以降低 SDL 中的 bpp 还是我应该寻找替代方案?


2014 年 6 月 5 日

我在大约 39000x39000 像素、8 位色深的机器上遇到了瓶颈。因为 SDL 将表面存储在物理内存中,所以我的 RAM 用完了。处理能力不是问题,因为我正在渲染静止图像。我希望把这个分辨率加倍,但我会尽我所能。是的,我可以将图像拆分为多个文件,但因为它将在以后进行高分辨率激光打印,所以无论如何它都必须作为单个文件打开。目标是将程序打包为一个单元,而不需要额外的步骤来在另一个程序中拼接和转换图像。

SDL 和 c++ 通常似乎不支持单个位变量(不包括布尔值),因此使用 SDL 将颜色值分配给 1 bpp 像素超出了我的范围。

0 投票
2 回答
3040 浏览

android - Android:将位图对象保存为 bmp (1bpp) 文件格式

基于@ben75 提出的这个问题:Android : save a Bitmap to bmp file format

我现在的问题是:如何获得每像素 1 位深度的 BMP 图像(黑白)?

0 投票
1 回答
371 浏览

c++ - 在 Qt 项目中包含 Rcpp 会导致错误影响不同的包含库

我正在使用 Qt Creator 制作一个静态库,该库将用于更大的基于 GUI 的应用程序。我以前使用过 Rcpp,但以 R 为起点 - 因此将 R 数据移动到 C++ 函数以执行操作并获得结果,我习惯于使用 R studio 进行操作。这次我开始一个 Qt 项目,我需要一个表来存储一些数据,并且 Rcpp::Dataframe 和一些向量类一样适合这项工作。在我的 .cpp 源文件中,我有 include 语句#include <Rcpp.h>,我在网上查看并找到了 Qt 中使用的 Rcpp / RInside 库的示例——尽管它更多的是关于 RInside 而不是 Rcpp:RInside 和 Qt

似乎需要在 .pro 文件中添加一些东西才能让 qmake 做正确的事情。我在下面附加的 .pro 文件中包含了我认为 Rcpp 所需的内容。我遇到的问题是,在 .pro 文件中包含 Rcpp 内容和 .cpp 文件中的 include 语句之前,包含您也可以在下面的 .pro 文件中看到的 bpp 库不会导致编译中的任何错误或警告。在 .pro 文件中包含包含 R 和 Rcpp 的语句后,我收到许多警告和一个与 bpp 组件有关的错误,特别是:/local/yrq12edu/local/bpp/dev/include/Bpp/Numeric/NumConstants.h:96: error: expected unqualified-id before numeric constant. 还有很多Wunused-parameter消息,其中大部分似乎来自 bpp 内的文件。这是我第一次不得不处理这样的事情,虽然我已经阅读了很多 Qt 文档,但我仍然是一个非常新鲜的 Qt 新手。为什么在使用 bpp 之前我不会收到任何错误,但现在我已经尝试将 Rcpp 包含到我的 Qt 项目中?我应该怎么做才能采取措施解决这个问题?

编辑: 按照建议,我使用 RInside/examples/qt 中的示例 pro 文件作为起点 - 保持语句的顺序:

在我的语句中包含与 RInside 和 Rcpp 相关的语句之前或之后的 bpp 库会导致与以前相同的错误。

来自 bpp 的 .h 文件的内容是:

0 投票
0 回答
2158 浏览

c++ - 使用 C++ 在 OpenCV 中创建 1bpp(每像素位)图像

我正在尝试在 C++ 中为一个项目创建一个 1bpp 图像(每像素 1 位)掩码,但是我坚持如何使用 OpenCV 做到这一点?

我正在尝试的代码是:

我不确定这是否是创建 1 bpp 掩码的正确方法。有谁知道这是否可以使用 OpenCV 或 C++?

0 投票
1 回答
28 浏览

java - Java - 每点查找本机位

我需要找到本地机器的每点位数、高度、宽度和刷新率。

我知道如何使用 java.awt.Toolkit 找到其中的大部分内容,但 Toolkit.getScreenResolution 返回一个以 Dots-Per-Inch 为单位的值。

我不能只是对(相当庞大的)整个程序进行重组以使用 DPI 而不是 BPP,而且我也不完全知道其中的区别。

java中有没有办法抓取本地显示的BPP?

0 投票
2 回答
461 浏览

resize - Imagemagick 最大颜色和缩放

我正在尝试以 2bpp 的灰度将 80x80 图像转换为 56x56 图像。

80x80 的图像是彩色的,其中可能有多达 16 种颜色。它们还具有透明背景。

我需要将它们灰度化,其中有 4 种颜色,白色是最亮的,黑色是最暗的。

每个图像都有多种颜色,但每种颜色都有 3 种颜色的调色板,一种是深色,一种是中色,一种是浅色。

我需要将所有深色的转换为深灰色,将中等的转换为浅灰色,将浅的转换为白色,同时保持图像中已经存在的黑色。

我可以成功地将图像转换为灰度,修剪画布,并使用此命令填充背景

现在我需要限制颜色,但它没有转换正确的颜色。浅色正在转换为浅灰色而不是白色。当我更改 -level 选项时,它仅适用于某些图像。

-auto-levels 也不符合我的要求。

有没有办法将中档的颜色设置为自动调平以满足我的要求?如果我解释得不够充分,我很抱歉。

这是我一直在篡改的代码,但它只适用于少数图像。使用 gamma 选项可以使其适用于更多图像,但会破坏原始工作图像。

我无法提供预期的图像,但提供与预期相似的图像。这是原始图像https://img.pokemondb.net/sprites/black-white/normal/charizard.png这里是所需的输出格式图像https://img.pokemondb.net/sprites/red-blue/normal/喷火龙.png

这是我到目前为止所得到的 https://www.pokecommunity.com/showthread.php?p=9692599#post9692599

顺便说一句, ^ 在 for 循环中,因此是变量。改变游戏和黑白阈值让我更接近,但这非常乏味,当我得到一个图像来正确转换另一个中断时。nidoking.png 是我的重映射文件。重映射工作完美,就在重映射颜色被正确分离或过滤之前。

解决了,感谢 Mark Setchell

这就是我最终做的

这个脚本变成了这个 原始图像

进入这个过滤后的图像

0 投票
1 回答
192 浏览

d - 我可以从 FreeImage 导出的最高位深度灰度图像是多少?

作为上下文,我正在构建一个需要相对极端细节的地形程序。我不希望文件很小,也不需要在监视器上正式查看,它们只需要具有非常高的分辨率。

我知道大多数图像格式都限制为 8 bpp,这是由于显示器(以合理的价格)和人类感知的标准限制。然而,2⁸ 只是 256 个可能的值,这会在重建位移中引起平台伪影。2¹⁶ 在 65,536 个可能的值上可能足够接近,我已经实现了。

我正在使用 FreeImage 和 DLang 来构建数据,目前在 Linux Mint 机器上。

然而,当我继续使用 2³² 时,我的软件支持似乎逐渐淡化。我尝试了这种形式的 TIFF,似乎没有任何东西能够解释它,要么显示完全(或大部分)透明的图像(记住我不希望任何显示器真正支持 2³² 的通道阴影),要么抱怨被无法解码 RGB 数据。我想这是因为它被假定为 RGB 或 RGBA 图像。

FreeImage 对于大多数用途都有很好的记录,但我现在想知道,我可以导出的最高精度单通道格式是什么,我该怎么做?谁能提供一个例子?在任何典型的和非家庭滚动的图像格式中,我真的被限制为 16 位吗?我知道这对于医学成像来说已经足够高了,但我敢肯定我不是第一个尝试瞄准更高目标的人,我们科学类型的人对我们的精度水平可能非常雄心勃勃……</p>

我在代码中犯了明显的错误吗?为了这种精度,我还应该尝试其他什么方法吗?

这是我的代码。

有效的 16 位 TIFF

32 位 TIFF 并没有真正起作用

感谢您的任何指示。

0 投票
0 回答
746 浏览

gcc - 使用 macOS BigSur M1 芯片的 gcc 编译错误

我最近从 Windows 切换到 mac,勇敢地拿起了带有 macOS BigSur 和 M1 芯片的新 MacBook。我正在尝试按照程序的安装指南安装 BPP ( https://github.com/bpp/bpp ),但在尝试编译可执行文件时遇到问题。

这给出了多个这样的错误:

所以我认为问题可能在于默认编译器是 Clang 12,并且在安装 gcc-11(应该适用于 M1)之后运行:

但它也给出了一个错误:

由于我不是经验丰富的编码员,而且 M1 是如此新,以至于从论坛中找到解决方案并不简单,我有点走入了死胡同。有什么建议可以解决这个问题吗?

我想这是因为 SSE3 是 x86 功能吗?

0 投票
1 回答
29 浏览

python - 使用 Bppancestor 运行多个配置文件

我需要使用多个配置文件运行 Bppancestor,我尝试了不同的方法,但都没有奏效。我有大约 150 个文件,所以一个一个地做并不是一个有效的解决方案。

运行 bppancestor 的语法如下:

我试着做:

并使用 Snakefile 尝试自动化工作流程:

有人可以给我建议吗?