簡體   English   中英

如何從.pgm文件中讀取像素值並將其復制到數組中。 c編程

[英]How to read in pixel values from .pgm file and copy it into an array. c-programming

我已經堅持了一段時間。 如何將像素值0-255從pgm文件復制到數組中? 到目前為止,這就是我所擁有的。 我知道我不符合預期。

#include <stdio.h>
#include <stdlib.h>

int main(int argc, int *argv[])
{


      int i = 0, j = 0;
      unsigned int str[1000];
      FILE *pgmFile;

      if (argc != 2)
      {
          printf ("ERROR, Not enough arguments.");
          exit(EXIT_FAILURE);
      }

      if ((pgmFile = fopen(argv[1], "r")) == NULL)
      {
          printf ("ERROR, File cannot be opened");
          exit(EXIT_FAILURE);
      }

      do 
      {
          fscanf (pgmFile, "%d", str[i]);
          printf ("%d", str[i]);
          i++;
      }
      while (str[i] != EOF);



     fclose (pgmFile);

     return 0;
}

您應該首先閱讀標題(3行)。

使用標頭中的數據,您可以設置Y數量行的for循環讀取。 在每一行中,您應該讀取X像素數據和換行符。 如果任何讀取功能返回錯誤代碼,則應打印出錯誤消息並中止。

https://zh.wikipedia.org/wiki/Netpbm_format

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM