Image processing examples.
#include <iostream>
using namespace std;
int main()
{
if (!
ImRead(
"../examples/data/test.jpg", img1)) {
return EXIT_FAILURE;
}
int new_width = 225;
int new_height = 300;
cout << "Executing ResizeDim" << endl;
vector<double> res_scale = { 2,2 };
cout << "Executing ResizeScale" << endl;
ImWrite(
"img_resized_scale.jpg", tmp);
cout << "Executing Flip2D" << endl;
cout << "Executing Mirror2D" << endl;
cout << "Executing Transpose" << endl;
int angle = 60;
cout << "Executing Rotate2D" << endl;
double rot_scale = 1.5;
cout << "Executing RotateFullImage2D" << endl;
ImWrite(
"img_rotated_full.jpg", tmp);
cout << "Executing ChangeColorSpace" << endl;
cout << "Executing OtsuThreshold" << endl;
double maxval = 255;
cout << "Executing Threshold" << endl;
vector<vector<ecvl::Point2i>> contours;
auto i = kernel.
Begin<
double>(), e = kernel.End<
double>();
float c = 0.11f;
for (; i != e; ++i) {
*i = c;
}
cout << "Executing Filter2D" << endl;
vector<double> kernelX = { 1, 2, 1 };
vector<double> kernelY = { 1, 0, -1 };
cout << "Executing SeparableFilter2D" << endl;
ImWrite(
"img_separable_filter.jpg", tmp);
cout << "Executing GaussianBlur" << endl;
ImWrite(
"img_gaussian_blur.jpg", tmp);
float stddev = 255 * 0.05;
cout << "Executing AdditiveLaplaceNoise" << endl;
ImWrite(
"img_laplacenoise.jpg", tmp);
int gamma = 3;
cout << "Executing GammaContrast" << endl;
ImWrite(
"img_gammacontrast.jpg", tmp);
float prob = 0.5;
float drop_size = 0.1f;
bool per_channel = true;
cout << "Executing CoarseDropout" << endl;
ImWrite(
"img_coarsedropout.jpg", tmp);
vector<Image> images;
if (!
ImRead(
"../examples/data/img0003.png", img1)) {
return EXIT_FAILURE;
}
if (!
ImRead(
"../examples/data/img0015.png", img2)) {
return EXIT_FAILURE;
}
images.push_back(img1);
images.push_back(img2);
images.push_back(img1);
images.push_back(img2);
ResizeDim(images[1], images[1], { images[1].dims_[0] / 2, images[1].dims_[1] });
cout << "Executing HConcat" << endl;
images.erase(images.begin() + 1);
ResizeDim(images[1], images[1], { images[1].dims_[0] , images[1].dims_[1] / 2 });
cout << "Executing VConcat" << endl;
images.erase(images.begin() + 1);
cout << "Executing Stack of images xyc creating a xyo Image" << endl;
cout << "Executing Salt" << endl;
Salt(img1, tmp, 0.5,
true);
ImWrite(
"img_salt_perchannel.png", tmp);
Salt(img1, tmp, 0.5,
false);
cout << "Executing Pepper" << endl;
ImWrite(
"img_pepper_perchannel.png", tmp);
Pepper(img1, tmp, 0.5,
false);
cout << "Executing SaltAndPepper" << endl;
ImWrite(
"img_saltandpepper_perchannel.png", tmp);
ImWrite(
"img_saltandpepper.png", tmp);
cout << "Executing OpticalDistortion" << endl;
ImWrite(
"img_opticaldistortion.png", tmp);
cout << "Executing GridDistortion" << endl;
ImWrite(
"img_griddistortion.png", tmp);
cout << "Executing ElasticTransform" << endl;
ImWrite(
"img_elastictransform.png", tmp);
cout << "Executing CenterCrop" << endl;
ImWrite(
"img_centercrop.png", tmp);
return EXIT_SUCCESS;
}