Tag: ppm

编写PNM P6的问题

我正在编写一个程序,它接收两个重复的PNM P6文件,将第一个文件的内存放入缓冲区,在其上创建一条黄色对角线,并将结果写入第二个文件。 当我运行它时,输出文件已损坏,无法显示。 我注意到在查看输出时它缺少应该位于顶部的三行: P6 1786 1344 255 我不知道如何以编程方式确保这些行保留在代码中 – 我无法弄清楚为什么它们甚至首先被覆盖。 当我手动将这些行添加到输出时,该文件不再被破坏。 但是,没有出现黄色对角线。 这是同一个问题的一部分,还是我还应该考虑修复其他问题? 我的代码: #include #include #include typedef struct { unsigned char red, green, blue; } iPixel; typedef struct { int x, y; iPixel *data; } Image; Image * ReadImage(char *filename) { FILE *f = fopen(filename, “rb”); Image *img = NULL; char magicNum[128]; int […]

在二进制模式下使用fscanf

在二进制模式下打开文件时使用fscanf是不是很糟糕? 我似乎无法在互联网上找到任何合理的东西。 我试图打开并读取PPM文件,我发现了这个 ,但我不确定使用fscanf是否可以? 使用netpbm不行,是的。 用畏惧读这个看起来很痛苦。

hwnd到ppm问题

我有一个将hwnd保存到ppm文件的function。 此函数的灵感来自msdn示例。 msdn示例和我的函数都工作但是…我有一个问题…… 但首先,这是function。 int CaptureAnImage(HWND hWnd) { HDC hdcWindow; HDC hdcMemDC = NULL; HBITMAP hbmScreen = NULL; RECT rc; BITMAPINFOHEADER bi; DWORD dwBmpSize; HANDLE hDIB; char *lpbitmap; int w, h; FILE *f; // Retrieve the handle to a display device context for the client // area of the window. hdcWindow = GetDC(hWnd); // Create […]

在C中将PPM从RGB转换为HSL

对于我的学术课程,我需要有关RGB图像文件中的直方图均衡的帮助。 我查看了我之前关于直方图均衡的代码示例,但我没有找到任何有关此问题的线索。 我从未练习过直方图均衡示例,即RGB图像。 图像是PPM文件。 因此,我们需要将文件从RGB转换为YCbCr,从RGB转换为HSI。 然后,我们需要在图像为YCbCr和HSI格式时进行直方图均衡。 之后,我们需要再次将PPM文件转换为RGB格式。 而已。 *void write_image function is writing the data to the pnr.ppm* *void get_image_data function is getting the image that is mandrill1.ppm* 我们只需要指定代码: #include #include #include #include #include #include #include #include #include #define PI 3.1415926535897932384626433832795 struct ppm_header { char pgmtype1; char pgmtype2; int pwidth; int pheight; int pmax; }; […]

读取PPM文件并将其存储在数组中; 用C编码

我需要读取一个PPM文件并将其存储在用C编写的数组中。任何人都可以帮我解决这个问题吗? 非常感谢。