问题标签 [ppm]

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

c - 我的功能是以不同的方式将 PGM 图像文件复制到 PPM

我有一个非常简单的函数来保存 PPM 图像:

如您所见,此函数接收一个矩阵(CImage 格式)并将图像数据写入 ASCII 文件。这似乎是正确的,但每次我将灰度图像复制到 PPM 图像时都会遇到问题。看代码:

我有什么问题?好吧,代码看起来正确而简单。但是当cimage矩阵/向量写成文件时,我可以看到两张图片是不一样的。似乎 PGM 图像的像素在复制的图像中“移位”或“镜像”。

您可以看到图像文件RGB 副本

0 投票
3 回答
918 浏览

java - 将图片旋转 90 度时我做错了什么

我完全被这个问题难住了。所以这是我将数组旋转 90 度的逻辑:

例子:

所以如果我想将它旋转 90 度,我想要的是从最底部的行向上读取数组,然后在右侧添加一个宽度。所以数组将是

现在我将此逻辑应用于我的像素数组并将图片旋转 90 度

这是我在 Java 中的方法的代码:

当我调用该方法时,它会使图片出现乱码,但图片的宽度和高度是切换/交换的。

但这是我的时候,如果我尝试调用方法 TWICE,那么图片将正确旋转 180 度

如果我尝试调用方法四次,图片将是真实的。

谁能阐明我错过了什么或做错了什么?


我发现了问题,我无法回答我自己的问题,所以这是我的代码的问题:

而不是放

我有一个

在我的作家方法中愚蠢的我 - _ __ _ -

感谢@Marcelo 和@rolfl 提供帮助。发现了问题。

我的代码一直都是正确的,我有一个愚蠢的 1 班轮代码让我一团糟

0 投票
3 回答
2381 浏览

c - C - “警告:格式“%c”需要“char *”类型的参数,但参数 3 的类型为“int”:?

我正在编写代码以将 PPM 文件读入包含 3 个无符号字符 r、g 和 b 的 struct pixel_type 数组。导致问题的代码如下所示:

编译时,我收到所有 3 个“%c”的消息:

警告:

将像素值读入 struct pixel_type 数组的最佳方法是什么?

0 投票
1 回答
1193 浏览

c - 通过 PPM 在 C 中创建标志

我正在尝试通过 PPM 在 C 中设计丹麦国旗,但我似乎无法让我的功能正常工作,因为我想找到一种更有效的方法将所有地方循环在一起,而不是做所有 if/else if陈述。

这是我的身体,我不知道如何循环在一起,而不是创建大量的 if/else 语句,其中一半时间可能不起作用....

同样出于某种原因,我的函数将编译...有人也可以帮助我解决这个问题吗?

0 投票
1 回答
496 浏览

java - 在 Java 中生成非正弦声音输出

对于一个学校项目,我必须使用 Java 从我的计算机控制我的 RC 飞机。我想要实现这一点的方法是通过 3.5 毫米电缆(遥控器的教练端口)将我的遥控器连接到我的 MacBookPro。

我必须与遥控器通信的方式是通过 PPm 信号,如下所示:

在此处输入图像描述

以下是有关 PPM 信号的更多信息: https ://www.insecure.ws/2010/03/09/control-rc-aircrafts-from-your-computer-for-0/#toc-2

我现在想知道的是如何使用 Java 生成所述 PPM 信号。它必须是具有特定幅度的粗信号。

这里有人可以帮助我吗?

编辑:
让我在这里回答下面提出的一些问题:

该网站更好地解释了我认为我可以做到的,但无论如何我都会尝试。

我想用我的电脑控制我的遥控飞机。现在,我只希望我的油门工作。其余的将在稍后进行。

每帧长 22.5 毫秒,因为这是 RC 东西使用的格式。每帧由 8 个通道组成,它们之间有 0.4ms 的停止,以及一个空白信号来填补它剩下的时间。

每个通道的幅度为 1.3 伏,我将通过反复试验来实现(用我的音量播放,直到恼人的哔哔声停止),并且为 0.7 - 1.5 毫秒。

我想要实现的是有一个默认信号,具有 7x 1.1ms 和 1x 0.7ms(所有伺服器的中间位置为 7x,油门最小为 1x),当用户按下键盘上的按钮时会改变(1 会改变油门的信号长度为 0.7 + 0.1 ms => 0.8ms)。在用户按下 0、1、2、3 或 4 之前,信号将不断重复(每 22.5 毫秒 1 帧),并改变通道 1 的长度。

我已经在github上发布了到目前为止的内容。

0 投票
2 回答
852 浏览

python - 仅使用 Numpy 出现在浮雕图像上的 Python 错误

该程序的目的是获取 ppm 图像并将其压印。(可以在这里找到整个项目的详细信息)我正在帮助对作业进行评分,但似乎找不到学生的错误。

我使用的原始图像如下所示: 在此处输入图像描述

结果应如下所示:

在此处输入图像描述

这是整个程序(在问题行周围有注释):

在我看来,问题出在浮雕方法中,但我似乎无法解决。所以我包括了所有这些,甚至包括过滤掉 ppm 标题注释的部分。

就像现在一样,它会浮雕,但这样做会产生三重图像。去除压纹线后,三重图像消失。

如果您想自己尝试,这是我正在测试的文件

关于我应该改变什么来修复这个错误的任何建议?

0 投票
2 回答
135 浏览

c - 用 C 翻转顶点

我正在尝试垂直翻转 C 中的图像,所以如果图像是 < 它将结束 > 并且我的功能包括

我让我的结构工作但由于某种原因我的函数不会输出它,我正在将图像扫描到结构中,所以......

我在我的功能中做错了什么?

它应该是

0 投票
1 回答
59 浏览

c - 不会在我的图像中阅读

我正在阅读一个 PPM 文件,我在整个函数中都使用了 printf 来查看它是否会打印,但由于某种原因它会打印 p3/comment/width/height/maxcolor 但它不会打印像素...我尝试检查通过在我的嵌套 for 循环内部和外部使用 printf 语句,但它不会读入数据......有什么想法吗?

是的,我已经确保我的结构是 int red/green/blue,并且我已经检查了打印出注释/maxcolor/以及其他所有工作的东西。

0 投票
1 回答
863 浏览

parsing - 在 Haskell 中解析 PPM 图像

我开始学习 Haskell 并希望为 execrsice 解析 PPM 图像。PPM 格式的结构相当简单,但也很棘手。它在这里描述。首先,我为 PPM Image 定义了一个类型:

bitmap应该包含整个图像。这是第一个挑战出现的地方 - 在 PPM 中包含实际图像数据的部分可以是文本或二进制(在标题中描述)。对于文本位图,我编写了以下函数:

不过,我不确定如何处理二进制位图。Usingread将数字的字符串表示形式转换为数字。我想将“\x01”转换为 Int 类型的 1。

第二个挑战是解析标题。我写了以下函数:

效果很好。现在我应该编写模块导出函数(我们称之为parsePPM),它获取整个文件内容(String)然后返回PPM。该函数应该调用parseHeader,确定位图格式,调用适当的parse(Textual|Binary)Bitmap,然后用结果构造一个 PPM。一旦 parseHeader 返回,我应该从 parseHeader 停止的点开始解码位图。但是,我不知道字符串 parseHeader 停止的点。我能想到的唯一解决方案是,当元组的第二个元素是由constructHeader(当前命名为_)检索到的余数时Header,parseHeader 将返回,而不是返回。(Header,String)但我不确定这是做事的“Haskell方式”。

总结一下我的问题: 1.如何将二进制格式解码成一个列表Pixel 2.我怎么知道标头在哪一点结束

因为我自己学习 Haskell,所以没有人真正审查我的代码,所以除了回答我的问题之外,我还会对我的编码方式(编码风格、错误、做事的替代方式等)提出任何评论。 .)。

0 投票
1 回答
478 浏览

opengl - PPM 颜色问题

请问有人知道这个代码颜色不匹配有什么问题吗?iam 使用 ppm 加载程序加载图像,但在游戏中加载图像时颜色与图像不匹配。

当我传递一个白色图像时,它显示为黑色,当我传递黑色时,它显示为白色,当我传递 255 , 0 ,0 时,它显示为 0 ,255,255,当我传递 128 , 128 , 192 时,它显示为 128 , 128 , 64

全屏图像