Professional Documents
Culture Documents
Program 2
Program 2
Program 2
#include <stdio.h>
#include <stdlib.h>
main()
FILE *fp;
int i,j,k,height,width,maxval,coordinate;
fp=fopen("contoh-1.pgm","r");//pointer file fp will open the file of input image with type read//
fgets(line,100,fp);
// now lets get the width and height from the header//
height=atoi(strtok(NULL," "));
fgets(line,100,fp);
maxval=atoi(line);
// USE POINTER//
pixel = malloc(width*height);
for(k=0;k<(width*height);k++)
fread(pixel+k,sizeof(unsigned char),1,fp);
for(j=0;j<height;j++){
for(i=0;i<width;i++)
coordinate=(j*width)+i;
fread(pixel+coordinate,sizeof(unsigned char),1,fp);
}}
fclose(fp);
}
BLURRING
#include <stdio.h>
#include <stdlib.h>
FILE *fpi,*fpo;
char line[100];
int i,j,height=455,width=440;
if(argc!=3) {
exit(1);
fpi=fopen(argv[1],"r");
fpo=fopen(argv[2],"w");
for(j=0;j<height;j++) {
for(i=0;i<width;i++) {
// Tugas: ubahlah bagian dibawah ini untuk melakukan operasi blurring terhadap input image
for(j=1;j<height-1;j++) {
for(i=0;i<width-1;i++) {
input_image[j][i]=(input_image[j-1][i-1]+input_image[j-1][i]+input_image[j-1]
[i+1]+input_image[j][i-1]+input_image[j][i]+input_image[j][i+1]+input_image[j+1][i-
1]+input_image[j+1][i]+input_image[j+1][i+1])/9; // mengubah nilai pixel
for(j=0;j<height;j++) {
for(i=0;i<width;i++) {
output_image[j][i]=input_image[j][i]; // copy nilai tiap pixel dari input image ke output image
}
// ----------sampai sini----------------------------------
for(j=0;j<height;j++) {
for(i=0;i<width;i++) {
fclose(fpi);
fclose(fpo);
}
HISTOGRAM
#include <stdio.h>
#include <stdlib.h>
main()
FILE *fp;
int i, j, k = 0, height,width,maxval;
histogram[k] = 0;
fp = fopen("mandril.pgm", "r");
height=atoi(strtok(NULL," "));
histogram[pixel_value] += 1;
fclose(fp);