问题标签 [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.
c - 在 C 中裁剪 .ppm 文件
我正在开发一个C程序,该程序从起点像素(x,y)(裁剪图像的左上角)到终点像素(x + w,x + h)(左下角)裁剪.ppm文件裁剪图像)。
.ppm 文件中的数据格式如下:
rgbrgbrgbrgbrgbrgb
rgbrgbrgbrgbrgbrgb
rgbrgbrgbrgbrgbrgb
rgbrgbrgbrgbrgbrgb
有没有一种简单的方法,可以避免使用二维数组,使用 scanf() 来做到这一点?
android - Android 中的 PPM 图像
我正在尝试在 Android 中打开 .ppm 图像(便携式像素图)。我已经破译了足够的格式来创建这个:
我到了我正在解码像素的地步,但即使是第一个像素的绿色和蓝色值的 ascii 值也是 16 位最大值(使用 .read() 时为 65535)。如您所见,我已经尝试了很多方法来深入了解颜色的合理价值,但没有运气。
当我查看 ppm 中的值时,第二个和第三个字段中的字符很奇怪。有谁知道我在这里误入歧途?ppm 在 Photoshop 中正确打开...
java - 在java中读写.PPM图像?
我必须在 java 中读取 ppm 图像,然后将图像转换为负片。然后 PPM 图像有一个幻数“P6”,然后是一个 #Comment 字符,然后是高度和宽度。最后有255个字符,后面是数据。我想读取标题并验证它是 P3 还是 P6。然后读取图像尺寸,然后使用java将数据转换为图像的负值,请建议我最好的方法
c# - 使用 Textbox 中的 ASCII/UTF8 数据以 ASCII 格式编写 P6 .ppm。编码混乱?
我对我正在编写的一个小工具上的编码有一些普遍的困惑。
首先,我很抱歉以下代码有点被屠杀,但在我迄今为止编写的代码中,它是最接近实际工作的。
如果我使用以下代码:
然后我得到的是一个以 UTF-8 格式保存的文件,如果我打开该文件并将其重新保存为 ASCII,我会得到我期望的 PPM。
但是,如果我换行:
至
然后我确实得到了一个以 ASCII 格式保存的文件,但文件错误,颜色错误,基本上文件中的数据与文本框中的数据不匹配。
我假设文本框是 UTF-8,我粘贴到其中的数据实际上是 ASCII 格式/字符,我首先需要将该 ASCII 转换为其相应的 UTF-8 ...(又名 UTF-8 版本那些字符)。但是,如果我完全诚实,这是我第一次进入编码世界,我完全一无所知。所以如果我在说垃圾,请告诉我。
这是我粘贴到文本框中的数据示例:
它本来是黄色的,到处都是黑色的小方块,但它变成了绿色,当文件以 ASCII 格式创建时,数据最终看起来像这样:
c++ - 从 unsigned char* AND unsigned short* 指针 (RGB) (C++) 创建/保存 PPM 文件
我需要帮助以 C/C++ 保存 PPM 文件。我想从三个基本颜色通道中保存 PPM 图像。通道表示为 void * 指针(pRed、pGreen 和 pBlue)。这些值是固定的,所以我无法更改它们。
还有一个变量来决定如何解释 void 指针:这个变量是:
bpp=1 正确的类型是 unsigned char *。缓冲区元素的类型为 unsigned char
bpp=2 正确的类型是 unsigned short *。缓冲区元素是 unsigned short 类型。
现在我将从这三个颜色通道中保存一个 ppm 文件。
关于 bpp 变量的声明是:
我编写 ppm 文件的代码:
这是错误的任何地方,因为我得到了记录图像的正确“结构”,但颜色完全奇怪(迷幻风格):) 我在互联网上搜索并测试了很多东西,但没有一个有效。有人能指出我正确的方向吗?
c - 使用 C 读取 PPM 文件的像素数据
我正在尝试从 PPM 文件中读取像素数据。我有一个读取标题的功能,所以我知道它指向像素数据的开头。我尝试使用 fgetc(file) 但如果该值超过一位,它将不起作用。我还尝试使用数组并将数组转换为 int 或 char,但我无法知道每个值有多少位数。我也不确定这些值是否由空格分隔。基本上我需要一种方法来提取像素数据。(我正在使用 C。)
我现在的代码是:
编辑:起初我以为文件存储为 ASCII 值,然后我意识到它存储为二进制。现在我想我让它像十六进制一样。我不确定这是否正确。我真的被困住了。
编辑:稍微改变了我的代码
我将总和打印为 %c
function - 从函数绘制 .PPM 文件时,Python 图形会跳过每隔一个像素
我正在为大学课程编写程序。我将保存为二维数组的 .PPM 文件从 main 导入到函数中。然后我必须使用 .setPixel 和 color_RGB() 方法和函数更新图形窗口(在主窗口中打开)的像素。
像素正在更新,但是由于某种原因,每个彩色像素之间都有一个白色像素。这不是 PPM 文件(它们是由我的教授提供的,我已经尝试了多个文件),所以它必须是我的功能。
警告:我不允许在我的程序中使用我们课程中尚未涵盖的任何内容(这是第一年,4 个月的课程,因此范围并不大)。我不需要确切地知道如何修复它,就像我需要知道它为什么这样做一样(又名:我需要能够解释我是如何修复它的,以及它为什么会首先损坏)。
这是我的功能:
function - 将python中的二维数组元素移动到“相反”侧的函数
我目前正在为学校编写一个程序,该程序允许我将 .ppm 文件加载到 main 中,然后运行一系列函数,允许用户以各种方式操作显示的图像文件(也可以通过另一个函数完成)方法。我需要能够操作此文件的一种方法是在水平轴上进行“翻转”。因此,我需要我的函数将每一行的元素移动到它们的“相反”位置。例如,如果我的数组看起来像这样 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] 我需要我的函数来扭转它 [ 14、13、12、11、10、9、8、7、6、5、4、3、2、1、0]。
注意:每 3 个元素代表一个像素的 RGB 值,所以我不确定中间 3 个元素应该如何表现,但我会认为它需要保持不变。
到目前为止,这是我的功能:
注意:由于这是一门大学课程,我不允许在我的程序中使用我们在本课程中尚未涵盖的任何内容(这是一个 4 个月、100 级的课程,因此范围不是很广)。而且我也不允许使用 break 或 while(1) 语句。非常感谢您的帮助!
python - 无法识别 PPM 文件数据
我正在写一个简单的图片编辑器。它使用 PPM 文件。据我所知,我觉得我的代码应该可以工作。但是,我收到此错误
我的代码看起来像这样
我的显示功能看起来像这样
这是我正在使用的 ppm 文件
我一生都无法弄清楚为什么它无法识别文件中的数据。
任何帮助都会很棒。谢谢
matlab - 什么是 ppmreader 以及如何在 matlab 中打开 ppm 文件
我正在尝试在 matlab 中打开一个 .ppm 文件,我该怎么做?
在线有 ppm 阅读器。这是什么文件转换?以及如何从 ppm 文件中读取?