Project 1: Color Alignment
cs195-g: Computational Photography Patrick Doran
Spring 2010 pdoran
Directory
Metric: Sobel filter the image before scaling then SSD
The results on this page were computed by applying an image derivative filter of the image and then creating the multiscale image. Then the algorithm continues using the sum of squared differences metric. It's the same as metric 3, except the Sobel filter is applied before scaling in an attempt to preserve edges across the scale (the same edges at the highest level should be at the lowest level). It has perhaps the best results in that in the images where all the metrics failed, it failed the least (image 3 - 00153v.jpg, image 15 - 01861a.jpg). This performed better than metric 3 on image 7 - 00398v.jpg as well; this suggest that edge information is lost if the image is scaled and then the Sobel filter applied, as I suspected.
Results
Stats Legend
     image ##: file name
         size: [ vertical x horizontal ]
  green->blue: shift [ vertical, horizontal ]
    red->blue: shift [ vertical, horizontal ]
       border: crop [ top, left, bottom, right ]
         gray: [ 'assumed' gray value ]
      balance: scale [ red, green, blue ]
   normalizer: [ normalizes rgb values ]
          hue: threshold [ low, high ]
   saturation: threshold [ low, high ]
        value: threshold [ low, high ] 
Original Stats Without White Balance With White Balance

Full Size
Without white balance:
     image 01: 00125v.jpg
         size: [ 341 x 400 ]
  green->blue: [      5,      2 ]
    red->blue: [     10,      1 ]
       border: [     26,     26,    339,    387 ]
          hue: [ 0.0000, 0.9989 ]
   saturation: [ 0.1607, 0.8283 ]
        value: [ 0.1686, 0.9059 ]
With white balance:
         gray: [ 118.37 ]
      balance: [ 1.2200, 0.8562, 0.9878 ]
   normalizer: [ 311.10 ]
          hue: [ 0.0000, 0.9989 ]
   saturation: [ 0.1023, 0.8472 ]
        value: [ 0.1412, 0.7451 ]

Full Size

Full Size

Full Size
Without white balance:
     image 02: 00149v.jpg
         size: [ 341 x 397 ]
  green->blue: [      4,      2 ]
    red->blue: [      9,      2 ]
       border: [     27,     26,    324,    378 ]
          hue: [ 0.0000, 0.9987 ]
   saturation: [ 0.0202, 0.8219 ]
        value: [ 0.1255, 0.9804 ]
With white balance:
         gray: [ 133.45 ]
      balance: [ 0.8946, 1.0635, 1.0617 ]
   normalizer: [ 271.19 ]
          hue: [ 0.0000, 0.9983 ]
   saturation: [ 0.0314, 0.8219 ]
        value: [ 0.1176, 0.9647 ]

Full Size

Full Size

Full Size
Without white balance:
     image 03: 00153v.jpg
         size: [ 341 x 394 ]
  green->blue: [      7,      3 ]
    red->blue: [     10,      2 ]
       border: [     11,     28,    336,    381 ]
          hue: [ 0.0000, 0.9990 ]
   saturation: [ 0.1023, 0.9771 ]
        value: [ 0.3569, 0.8980 ]
With white balance:
         gray: [ 146.06 ]
      balance: [ 0.8262, 0.9957, 1.2734 ]
   normalizer: [ 318.36 ]
          hue: [ 0.0000, 0.9985 ]
   saturation: [ 0.0161, 0.9714 ]
        value: [ 0.2784, 0.8078 ]

Full Size

Full Size

Full Size
Without white balance:
     image 04: 00154v.jpg
         size: [ 341 x 398 ]
  green->blue: [      5,      0 ]
    red->blue: [     11,     -2 ]
       border: [      1,     25,    333,    381 ]
          hue: [ 0.0000, 0.9991 ]
   saturation: [ 0.0860, 0.9550 ]
        value: [ 0.2039, 0.9686 ]
With white balance:
         gray: [ 140.75 ]
      balance: [ 0.8407, 0.9059, 1.4150 ]
   normalizer: [ 359.40 ]
          hue: [ 0.0000, 0.9985 ]
   saturation: [ 0.0388, 0.9419 ]
        value: [ 0.1255, 0.9725 ]

Full Size

Full Size

Full Size
Without white balance:
     image 05: 00163v.jpg
         size: [ 341 x 387 ]
  green->blue: [     -3,      1 ]
    red->blue: [     -4,      1 ]
       border: [     54,     10,    329,    377 ]
          hue: [ 0.0000, 0.9986 ]
   saturation: [ 0.0131, 0.9211 ]
        value: [ 0.1255, 0.9686 ]
With white balance:
         gray: [ 107.87 ]
      balance: [ 0.9738, 0.9797, 1.0500 ]
   normalizer: [ 267.75 ]
          hue: [ 0.0000, 0.9989 ]
   saturation: [ 0.0494, 0.9167 ]
        value: [ 0.1216, 0.9686 ]

Full Size

Full Size

Full Size
Without white balance:
     image 06: 00270v.jpg
         size: [ 341 x 404 ]
  green->blue: [      3,      0 ]
    red->blue: [     12,      1 ]
       border: [     16,     25,    330,    378 ]
          hue: [ 0.0000, 0.9986 ]
   saturation: [ 0.0686, 0.9189 ]
        value: [ 0.0863, 0.9569 ]
With white balance:
         gray: [ 125.41 ]
      balance: [ 1.2053, 0.9815, 0.8685 ]
   normalizer: [ 296.51 ]
          hue: [ 0.0000, 0.9987 ]
   saturation: [ 0.0168, 0.9082 ]
        value: [ 0.0745, 0.8235 ]

Full Size

Full Size

Full Size
Without white balance:
     image 07: 00398v.jpg
         size: [ 341 x 397 ]
  green->blue: [      5,      3 ]
    red->blue: [     11,      4 ]
       border: [     23,     19,    340,    375 ]
          hue: [ 0.0000, 0.9984 ]
   saturation: [ 0.0177, 0.6962 ]
        value: [ 0.1451, 0.9569 ]
With white balance:
         gray: [ 166.80 ]
      balance: [ 0.9303, 1.0079, 1.0719 ]
   normalizer: [ 273.34 ]
          hue: [ 0.0000, 0.9981 ]
   saturation: [ 0.0702, 0.6667 ]
        value: [ 0.1255, 0.9569 ]

Full Size

Full Size

Full Size
Without white balance:
     image 08: 00458u.jpg
         size: [ 3238 x 3741 ]
  green->blue: [     42,      2 ]
    red->blue: [     86,     29 ]
       border: [    210,     65,   3178,   3695 ]
          hue: [ 0.0000, 0.9993 ]
   saturation: [ 0.0000, 0.9959 ]
        value: [ 0.0588, 0.9647 ]
With white balance:
         gray: [ 164.77 ]
      balance: [ 0.9942, 1.0106, 0.9954 ]
   normalizer: [ 252.64 ]
          hue: [ 0.0000, 0.9993 ]
   saturation: [ 0.0081, 0.9959 ]
        value: [ 0.0588, 0.9804 ]

Full Size

Full Size

Full Size
Without white balance:
     image 09: 00564v.jpg
         size: [ 341 x 392 ]
  green->blue: [      5,      1 ]
    red->blue: [     11,      0 ]
       border: [     11,     18,    328,    370 ]
          hue: [ 0.0000, 0.9979 ]
   saturation: [ 0.0465, 0.8902 ]
        value: [ 0.0941, 0.9686 ]
With white balance:
         gray: [ 107.29 ]
      balance: [ 1.1682, 0.8959, 0.9730 ]
   normalizer: [ 297.88 ]
          hue: [ 0.0000, 0.9986 ]
   saturation: [ 0.0889, 0.8788 ]
        value: [ 0.0824, 0.8118 ]

Full Size

Full Size

Full Size
Without white balance:
     image 10: 00911u.jpg
         size: [ 3254 x 3768 ]
  green->blue: [     14,     -9 ]
    red->blue: [    126,    -15 ]
       border: [    218,     30,   3225,   3714 ]
          hue: [ 0.0000, 0.9992 ]
   saturation: [ 0.0165, 0.9451 ]
        value: [ 0.0941, 0.9569 ]
With white balance:
         gray: [ 157.26 ]
      balance: [ 0.9844, 1.0049, 1.0110 ]
   normalizer: [ 250.73 ]
          hue: [ 0.0000, 0.9992 ]
   saturation: [ 0.0285, 0.9474 ]
        value: [ 0.0941, 0.9843 ]

Full Size

Full Size

Full Size
Without white balance:
     image 11: 01043u.jpg
         size: [ 3202 x 3712 ]
  green->blue: [    -15,     10 ]
    red->blue: [     12,     16 ]
       border: [     98,    156,   3159,   3555 ]
          hue: [ 0.0000, 0.9992 ]
   saturation: [ 0.0391, 0.8769 ]
        value: [ 0.1725, 0.9216 ]
With white balance:
         gray: [ 113.90 ]
      balance: [ 0.8335, 1.1548, 1.0703 ]
   normalizer: [ 289.87 ]
          hue: [ 0.0000, 0.9988 ]
   saturation: [ 0.0410, 0.8516 ]
        value: [ 0.1333, 0.8745 ]

Full Size

Full Size

Full Size
Without white balance:
     image 12: 01047u.jpg
         size: [ 3218 x 3741 ]
  green->blue: [     26,     20 ]
    red->blue: [     71,     33 ]
       border: [     88,    182,   3192,   3552 ]
          hue: [ 0.0000, 0.9990 ]
   saturation: [ 0.0795, 0.7722 ]
        value: [ 0.1725, 0.8510 ]
With white balance:
         gray: [ 106.37 ]
      balance: [ 0.8499, 1.1512, 1.0475 ]
   normalizer: [ 291.24 ]
          hue: [ 0.0000, 0.9985 ]
   saturation: [ 0.0222, 0.7730 ]
        value: [ 0.1294, 0.8078 ]

Full Size

Full Size

Full Size
Without white balance:
     image 13: 01167v.jpg
         size: [ 341 x 394 ]
  green->blue: [      5,      0 ]
    red->blue: [     12,     -2 ]
       border: [     11,     14,    329,    369 ]
          hue: [ 0.0000, 0.9973 ]
   saturation: [ 0.0340, 0.7737 ]
        value: [ 0.2706, 0.9255 ]
With white balance:
         gray: [ 151.76 ]
      balance: [ 1.2603, 0.9171, 0.8960 ]
   normalizer: [ 321.38 ]
          hue: [ 0.0000, 0.9979 ]
   saturation: [ 0.0276, 0.7348 ]
        value: [ 0.2118, 0.8902 ]

Full Size

Full Size

Full Size
Without white balance:
     image 14: 01657u.jpg
         size: [ 3212 x 3761 ]
  green->blue: [     56,      9 ]
    red->blue: [    120,     13 ]
       border: [    111,    181,   3090,   3644 ]
          hue: [ 0.0000, 0.9990 ]
   saturation: [ 0.0500, 0.8915 ]
        value: [ 0.2000, 0.9529 ]
With white balance:
         gray: [ 124.11 ]
      balance: [ 0.9058, 1.1400, 0.9815 ]
   normalizer: [ 279.30 ]
          hue: [ 0.0000, 0.9989 ]
   saturation: [ 0.0294, 0.8852 ]
        value: [ 0.1725, 0.9216 ]

Full Size

Full Size

Full Size
Without white balance:
     image 15: 01861a.jpg
         size: [ 3228 x 3741 ]
  green->blue: [     71,     39 ]
    red->blue: [    101,     63 ]
       border: [    152,    126,   3185,   3614 ]
          hue: [ 0.0000, 0.9992 ]
   saturation: [ 0.0163, 0.8584 ]
        value: [ 0.1843, 0.9569 ]
With white balance:
         gray: [ 142.54 ]
      balance: [ 0.8905, 0.9913, 1.1517 ]
   normalizer: [ 293.68 ]
          hue: [ 0.0000, 0.9989 ]
   saturation: [ 0.0262, 0.8523 ]
        value: [ 0.1608, 0.9412 ]

Full Size

Full Size

Full Size
Without white balance:
     image 16: 31421v.jpg
         size: [ 341 x 398 ]
  green->blue: [      8,      0 ]
    red->blue: [     13,      0 ]
       border: [     11,     20,    310,    377 ]
          hue: [ 0.0000, 0.9967 ]
   saturation: [ 0.0463, 0.8462 ]
        value: [ 0.0627, 0.8510 ]
With white balance:
         gray: [ 137.38 ]
      balance: [ 1.0968, 1.0633, 0.8712 ]
   normalizer: [ 239.10 ]
          hue: [ 0.0000, 0.9977 ]
   saturation: [ 0.0154, 0.8611 ]
        value: [ 0.0667, 0.9020 ]

Full Size

Full Size