ppm

    1热度

    1回答

    我有一个结构内填充结构的二维数组的问题。它允许我为像素[0] [1],像素[0] [2] ....等等做。但是,一旦我增加第一个索引,即像素[1] [1],我得到一个总线错误10.任何帮助,将不胜感激。我已经删除了一些代码,使其更具可读性,但如果您需要所有这些代码,请告诉我!程序正在做的是读取PPM图像并显示信息,我遇到的麻烦是存储图像的像素。 #define MAX_HEIGHT 4 #def

    1热度

    2回答

    P6 P6表示它是一个PPM图像。接下来的两个字段是图像的宽度和高度。最后一个字段给出最大像素值。在头部的末尾是\ n,然后是二进制像素数据。图像是彩色的,所以有三个字节(红色,绿色,蓝色)。 readPPM函数的目标是将像素数据返回到无符号字符的一维数组中,再加上图像的宽度和高度。我的writePPM函数(我还没有为这个函数做任何事情)的目标是从我的readPPM函数返回的给定信息中将PPM格式

    0热度

    1回答

    我正在寻找一种方法来将两个二维numpy阵列保存(有效的话,如果可能的话)成一个普通的ppm图像。 我认为标准(原始)和普通ppm图像之间的唯一区别是后者的限制线长度为70个字符。 我能想到的唯一方法是保存每个阵列以分离颜色通道。先将第一个数组表示为红色,将第二个表示为绿色,并将蓝色保留为0?虽然不确定是否有意义... 理想情况下,ppm文件将由'人类可读'(不是数据缓冲区)。 我知道SciPy的

    0热度

    1回答

    我想要一个矩阵,每行对应一个像素,每列是来自PPM P3图像的R G B值。 我试图用[imageWidth * imageHeight] [3]创建一个Matrix,然后填充它的大小,但它似乎是永远占用的。我想我错过了一些东西,任何人都可以解释我出错的地方,或者建议一个更好的方法来做到这一点? int pixels [imageSize] [3]; while(fgets(line,70,f

    0热度

    1回答

    我试图编写一个程序来读取ppm图像,将它们存储为对象,并再次写出它们。理想情况下,我想将像素存储为int类型的对象,但我只能使用字符来获取类似的图像。不幸的是,即使使用char对象也会导致图像的灰色版本。我不确定为什么改变存储类型会导致如此大的变化,或者为什么在保留形状时图像颜色会丢失。 我试着在这里查看无数其他ppm程序问题,但是我无法对他们的答案做出正面或反面(或者甚至是相关的)。我对这种语言

    0热度

    2回答

    有没有人可以告诉我为什么在运行此代码时遇到分段错误?我试图用P6格式打开一个PPM文件,第二行有它的维度,第三行有一个255常量。 下面是代表每个像素的数字的“二维数组”。我知道每个像素(RGB)有3个数字,但我仍然希望将它全部放在二维数组中(一个像素相邻的三种颜色)(这就是为什么我将size [1]乘以3),但是我我正在分段错误。 感谢您的帮助:) #include <stdio.h> #in

    0热度

    1回答

    我正在尝试使用C来存储P3 PPM文件,但我并不是那么熟悉它,所以我碰到了一堵砖墙。我想知道是否有人可以帮助我完成我的任务。谢谢。 我想保留它们作为struct PPM和struct PPM * getPPM(File * fd),但内容可以改变。 我也不知道如何存储评论,也想这样做。 基本上我想存储数据如下: P3 #comment.1 . . . #comment.n width he

    -1热度

    1回答

    我正在研究可以对PPM文件执行各种效果和操作的程序。但是出于测试的原因,它使用cin而不是输入文件。它应该能够一次执行多种效果,但我甚至无法获得一个正确的效果。我将在一个可以工作的行上运行removeBlue(),然后使用不同的值再次尝试,并且它将删除红色或绿色。之类的东西。有很多代码,所以我会尝试仅包含必要的内容。 #include <vector> #include <stdlib.h>

    0热度

    2回答

    背景的黑白图像中不需要着色:我试图遵循this post 的步骤我已经下载图像,并使其接近here。它被保存在R目录baboon.png: 现在来自R工作室我 library('png') # used the png package image = readPNG('baboon.png') # to read the image 从那里在后其余部分的步骤可以遵循。例如, baboon.s

    -1热度

    1回答

    所以,我有一个ppm文件,并在ppmformat.cpp,我有imaging :: component_t * buffer = new imaging :: component_t [3 * numCol * numRow];。我用这个声明什么?我想要一个缓冲区(3 * numCol * numRow)的大小,但我不明白什么component_t的使用? class Color.h #