• Home
  • Raw
  • Download

Lines Matching +full:- +full:- +full:max +full:- +full:width

26 void ReadPGM(FILE* f, Image* image, size_t* height, size_t* width) {  in ReadPGM()  argument
28 CHECK(fscanf(f, "P5\n%lu %lu\n%d\n", width, height, &colors) == 3); in ReadPGM()
32 for (int i = *height - 1; i >= 0; --i) { in ReadPGM()
33 ScanLine line = new uint8_t[*width]; in ReadPGM()
35 CHECK(fread(line, 1, *width, f) == *width); in ReadPGM()
40 size_t height, size_t width) { in CalculateDiff() argument
42 for (size_t j = 0; j < width; ++j) { in CalculateDiff()
43 diff[i][j] = static_cast<int>(image1[i][j]) - image2[i][j]; in CalculateDiff()
49 size_t height, size_t width, FILE* f) { in DrawDiff() argument
50 int max = -1234; in DrawDiff() local
53 for (size_t j = 0; j < width; ++j) { in DrawDiff()
54 if (max < diff[i][j]) max = diff[i][j]; in DrawDiff()
56 int img_min = std::min(255 - image1[i][j], 255 - image2[i][j]); in DrawDiff()
57 if (max < img_min) max = img_min; in DrawDiff()
61 int abs_max = -min; in DrawDiff()
62 if (abs_max < max) abs_max = max; in DrawDiff()
64 fprintf(f, "P6\n%lu %lu\n%d\n", width, height, abs_max); in DrawDiff()
66 uint8_t* row = new uint8_t[3 * width]; in DrawDiff()
67 for (int i = height - 1; i >= 0; --i) { in DrawDiff()
68 for (int j = 0; j < width; ++j) { in DrawDiff()
69 int min_val = std::min(255 - image1[i][j], 255 - image2[i][j]); in DrawDiff()
70 int max_val = std::max(min_val, abs(diff[i][j])); in DrawDiff()
72 row[3 * j + 0] = abs_max - max_val + diff[i][j]; in DrawDiff()
73 row[3 * j + 1] = abs_max - max_val; in DrawDiff()
74 row[3 * j + 2] = abs_max - max_val + min_val; in DrawDiff()
76 row[3 * j + 0] = abs_max - max_val; in DrawDiff()
77 row[3 * j + 1] = abs_max - max_val - diff[i][j]; in DrawDiff()
78 row[3 * j + 2] = abs_max - max_val + min_val; in DrawDiff()
81 fwrite(row, 1, 3 * width, f); in DrawDiff()