#include "opencv2/photo.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/core.hpp"
#include <iostream>
#include <stdlib.h>
int main()
{
cout << endl;
cout << "Cloning Module" << endl;
cout << "---------------" << endl;
cout << "Options: " << endl;
cout << endl;
cout << "1) Normal Cloning " << endl;
cout << "2) Mixed Cloning " << endl;
cout << "3) Monochrome Transfer " << endl;
cout << "4) Local Color Change " << endl;
cout << "5) Local Illumination Change " << endl;
cout << "6) Texture Flattening " << endl;
cout << endl;
cout << "Press number 1-6 to choose from above techniques: ";
int num = 1;
cin >> num;
cout << endl;
if(num == 1)
{
string folder = "cloning/Normal_Cloning/";
string original_path1 = folder + "source1.png";
string original_path2 = folder + "destination1.png";
string original_path3 = folder + "mask.png";
{
cout << "Could not load source image " << original_path1 << endl;
exit(0);
}
{
cout << "Could not load destination image " << original_path2 << endl;
exit(0);
}
{
cout << "Could not load mask image " << original_path3 << endl;
exit(0);
}
imwrite(folder +
"cloned.png", result);
}
else if(num == 2)
{
string folder = "cloning/Mixed_Cloning/";
string original_path1 = folder + "source1.png";
string original_path2 = folder + "destination1.png";
string original_path3 = folder + "mask.png";
{
cout << "Could not load source image " << original_path1 << endl;
exit(0);
}
{
cout << "Could not load destination image " << original_path2 << endl;
exit(0);
}
{
cout << "Could not load mask image " << original_path3 << endl;
exit(0);
}
p.
x = destination.
size().width/2;
p.
y = destination.
size().height/2;
imwrite(folder +
"cloned.png", result);
}
else if(num == 3)
{
string folder = "cloning/Monochrome_Transfer/";
string original_path1 = folder + "source1.png";
string original_path2 = folder + "destination1.png";
string original_path3 = folder + "mask.png";
{
cout << "Could not load source image " << original_path1 << endl;
exit(0);
}
{
cout << "Could not load destination image " << original_path2 << endl;
exit(0);
}
{
cout << "Could not load mask image " << original_path3 << endl;
exit(0);
}
p.
x = destination.
size().width/2;
p.
y = destination.
size().height/2;
imwrite(folder +
"cloned.png", result);
}
else if(num == 4)
{
string folder = "cloning/Color_Change/";
string original_path1 = folder + "source1.png";
string original_path2 = folder + "mask.png";
{
cout << "Could not load source image " << original_path1 << endl;
exit(0);
}
{
cout << "Could not load mask image " << original_path2 << endl;
exit(0);
}
imwrite(folder +
"cloned.png", result);
}
else if(num == 5)
{
string folder = "cloning/Illumination_Change/";
string original_path1 = folder + "source1.png";
string original_path2 = folder + "mask.png";
{
cout << "Could not load source image " << original_path1 << endl;
exit(0);
}
{
cout << "Could not load mask image " << original_path2 << endl;
exit(0);
}
imwrite(folder +
"cloned.png", result);
}
else if(num == 6)
{
string folder = "cloning/Texture_Flattening/";
string original_path1 = folder + "source1.png";
string original_path2 = folder + "mask.png";
{
cout << "Could not load source image " << original_path1 << endl;
exit(0);
}
{
cout << "Could not load mask image " << original_path2 << endl;
exit(0);
}
imwrite(folder +
"cloned.png", result);
}
}