Herkese iyi günler. Öncelikle, kodum için özür dilerim - Ben C de gerçek bir acemi değilim. Benim sorunum - ppm dosyası verilmiş ve oradan bir dizi içine değerleri depolamak gerekir. Zaten yükseklik, genişlik ve maksimum renk değerini kaydettim, şimdi bir değer saklamak benim fikrim, resimdeki gibi olacaktır - üç ile çarpmak, çünkü R G B formatındadır. Yardımlarınız için teşekkür ederim ve ben C. gerçek acemi değilim gerçeğini consider lütfenppm dosyasından gelen görüntü evrişimi
#include <stdio.h>
int main(int argc, char** argv) {
int i = 0;
int j = 0;
FILE *fp;
fp = fopen(argv[1], "r");
printf(" %s ", argv[1]);
printf("\n");
int firstLine[2];
int width;
int next;
int enter;
int loop;
int height;
int max_color;
int pix[width][height];
int mask[3][3] = {// inicializting our given mask
{0, -1, 0},
{-1, 5, -1},
{0, -1, 0}
};
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", mask[i][j]);
}
printf("\n");
}
fscanf(fp, "%s", &firstLine);
fscanf(fp, "%d", &height);
fscanf(fp, "%d", &width);
fscanf(fp, "%d", &max_color);
printf("%p", firstLine);
printf("\n");
printf("%d ", width);
printf("\n");
printf("%d", height);
printf("\n");
printf("%d", max_color);
printf("\n");
for (i = 0; i < width * 3; i++) {
for (j = 0; j < height * 3; j++) {
loop = fscanf(fp, "%d", &enter);
pix[i][j] = enter;
printf("%d ", enter);
}
}
// fclose(fp);
return (EXIT_SUCCESS);
}
Lütfen kodu paylaşmak için resimler kullanmayın! :) lütfen kopyalayıp buraya yapıştırın veya bir macun yapın. – fluter
Üzgünüm, burada yeni başlayan biriyim, bu yüzden şimdi yaptım. Teşekkürler – user118331
8-bit R, G ve B örneklerini almanız söylendi, ancak teknik olarak bunu varsaymadan önce 'MAX_INTENSITY' 255 olup olmadığını kontrol etmelisiniz, ve eğer 255'in üzerindeyse (büyük olasılıkla 65535'e eşittir), 16 bitlik örnekler okumalısınız. –