46 lines
1.0 KiB
C++
46 lines
1.0 KiB
C++
|
#include <iostream>
|
||
|
#include "libppm.h"
|
||
|
#include <cstdint>
|
||
|
|
||
|
using namespace std;
|
||
|
|
||
|
struct image_t* S1_smoothen(struct image_t *input_image)
|
||
|
{
|
||
|
// TODO
|
||
|
// remember to allocate space for smoothened_image. See read_ppm_file() in libppm.c for some help.
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
struct image_t* S2_find_details(struct image_t *input_image, struct image_t *smoothened_image)
|
||
|
{
|
||
|
// TODO
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
struct image_t* S3_sharpen(struct image_t *input_image, struct image_t *details_image)
|
||
|
{
|
||
|
// TODO
|
||
|
return input_image; //TODO remove this line when adding your code
|
||
|
}
|
||
|
|
||
|
int main(int argc, char **argv)
|
||
|
{
|
||
|
if(argc != 3)
|
||
|
{
|
||
|
cout << "usage: ./a.out <path-to-original-image> <path-to-transformed-image>\n\n";
|
||
|
exit(0);
|
||
|
}
|
||
|
|
||
|
struct image_t *input_image = read_ppm_file(argv[1]);
|
||
|
|
||
|
struct image_t *smoothened_image = S1_smoothen(input_image);
|
||
|
|
||
|
struct image_t *details_image = S2_find_details(input_image, smoothened_image);
|
||
|
|
||
|
struct image_t *sharpened_image = S3_sharpen(input_image, details_image);
|
||
|
|
||
|
write_ppm_file(argv[2], sharpened_image);
|
||
|
|
||
|
return 0;
|
||
|
}
|