是否可以從灰度png中用fopen獲取數據,然後將其轉換爲灰度對應的整數值?是否可以通過fopen從png獲取數據?
FILE *fr;
int ch;
fr = fopen("file_name.png", "rb");
while ((ch=fgetc(fr)) != EOF)
printf("%d", ch);
fclose(fr);
是否可以從灰度png中用fopen獲取數據,然後將其轉換爲灰度對應的整數值?是否可以通過fopen從png獲取數據?
FILE *fr;
int ch;
fr = fopen("file_name.png", "rb");
while ((ch=fgetc(fr)) != EOF)
printf("%d", ch);
fclose(fr);
不是說很容易,你可以在例如維基百科閱讀有關文件格式:
http://en.wikipedia.org/wiki/Portable_Network_Graphics
我覺得你最好的選擇是使用像FreeImage的一些庫加載圖像。
簡單的答案是肯定的!但要理解讀取的數據,您需要一些libraries或深入瞭解how PNG files are structured。
我列出的庫向您顯示瞭如何讀取png文件的分步過程。
我不會碰libpng。太複雜。
試試這個:http://nothings.org/stb_image.c
這是因爲這很容易:
unsigned char *image;
int x, y, n;
image = stbi_load("easy.png", &x, &y, &n, 4);
/* process image here */
stb_image_free(image);
謝謝,我還有一個問題:是否可以使用stb_image.c創建png文件?我的意思是過程映像,並將其保存回相同的png文件。 – user1281071 2012-04-03 17:04:43
你會這麼好心,並張貼一些代碼如何只顯示與plglib灰度值?我正在閱讀鏈接中的文本,但我感到非常困惑 – user1281071 2012-04-03 12:05:12