-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathseq_watermark.cpp
More file actions
46 lines (38 loc) · 1.46 KB
/
seq_watermark.cpp
File metadata and controls
46 lines (38 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
*filename: seq_watermark.cpp
**
*** Author: Mario Leonardo Salinas
*** Student Code: 502795
*** Master Degree curriculum: Data and Knowledge - Science and Technologies
**
*/
/*
* C++ sequential implementation of a watermark application.
* Global variables and functions used are all defined in lib/util.cpp
**/
#include "./lib/util.cpp"
int main(int argc, char * argv[]){
if(argc < 5) {
std::cout << "Usage is: " << argv[0] << " source_folder result_folder watermark_file avg" <<
std::endl << "*************************************************" <<
std::endl << "*** Images and watermark must have SAME SIZE. ***" <<
std::endl << "*************************************************" << std::endl;
return(0);
}
cimg_library::CImg<int> watermark(argv[3]);
std::string path_in = argv[1];
std::string path_out = argv[2];
bool aVg = to_bool(argv[4]);
int nImgs = 0;
float avg_load = 0.0, avg_proc = 0.0, avg_save = 0.0;
std::cerr << "seq_watermark\n";
auto start = std::chrono::high_resolution_clock::now();
seq_wm(nImgs, path_in, path_out, watermark, aVg, avg_load, avg_proc, avg_save);
auto elapsed = std::chrono::high_resolution_clock::now() - start;
auto msec = std::chrono::duration_cast<std::chrono::milliseconds>(elapsed).count();
std::cout << "Time: " << msec << " nImgs: " <<
nImgs << " source: " << path_in <<
"avgs: " << avg_load << ", " << avg_proc << ", " <<
avg_save << std::endl;
return 0;
}