Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ------------------------------------------------------------
- ANSI C IMAGE PROCESSING TEMPLATE USING DIP LIBRARY
- by D.K. Iakovidis
- ------------------------------------------------------------
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #include "dip.h"
- unsigned char **processImage(unsigned char **inputImage, int rows, int columns);
- int main(void)
- {
- unsigned char *inputFilename = "image268x324.raw",
- *outputFilename = "image268x324out.raw";
- int rows = 324,
- columns = 268;
- unsigned char **inputImage, **outputImage;
- inputImage = allocateImage(rows, columns);
- inputImage = loadImage(inputFilename, rows, columns);
- outputImage = processImage(inputImage, rows, columns);
- saveImage(outputFilename, outputImage, rows, columns);
- deallocateImage(inputImage, rows);
- deallocateImage(outputImage, rows);
- return 0;
- }
- unsigned char **processImage(unsigned char **inputImage, int rows, int columns)
- { double kernel[rows][columns];
- double max=0.0,min=255.0;
- int i,j;
- unsigned char **outputImage = allocateImage(rows, columns);
- for (i = 0; i < rows; i++)
- {
- for (j = 0; j < columns; j++)
- {
- kernel[i][j] = rand()%256 +inputImage[i][j];
- if(max<kernel[i][j])max=kernel[i][j];
- if(min>kernel[i][j])min=kernel[i][j];
- }
- }
- for (i = 0; i < rows; i++)
- {
- for (j = 0; j < columns; j++)
- {
- kernel[i][j] = (kernel[i][j]-min)/(max-min);
- outputImage[i][j]=(unsigned char)(255*kernel[i][j]) ;
- }
- }
- return outputImage;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement